小R爱回文
时间: 1ms 内存:128M
描述:
小R对数字很感兴趣,他认为数字充满了魅力,并且尤其喜欢回文数(数字从前向后读和从后向前读都一样的数字,例如6和1221都是回文数),小R认为回文数很漂亮,但是无奈的是小R的眼神并不太好,分辨一个数是否为回文数
经常让他感到眼花缭乱,所以你能编写一个程序来帮助他分辨一个长度为N的数是否为回文数吗?
输入:
输入包含T组测试数据,第一行输入T,每组数据分两行,第一行为N(0<N<=1000),接下来的一行为一个长度为N的数字。
输出:
对于每个数字,如果是回文数则输出YES,不是回文数则输出NO。
示例输入:
3
5
12121
8
12341234
2
22
示例输出:
YES
NO
YES
提示:
参考答案(内存最优[1120]):
#include<stdio.h>
int main()
{
int t;
scanf("%d",&t);
char s[1010];
while(t--){
int n=0;
int flag=1;
scanf("%d",&n);
scanf("%s",s);
for(int i=0,j=n-1;i<j;i++,j--){
if(s[i]!=s[j]){
flag=0;
break;
}
}
if(flag)printf("YES\n");
else printf("NO\n");
}
return 0;
}
参考答案(时间最优[1]):
#include<stdio.h>
int main()
{
int t,n,i,m;
scanf("%d",&t);
while(t>0)
{
scanf("%d",&n);
int a[n];
for(i=0;i<n;i++)
{
scanf("%1d",&a[i]);
}
for(i=0;i<n/2;i++)
{
if(a[i]!=a[n-i-1])
break;
}
if(i==n/2)
printf("YES\n");
else
printf("NO\n");
t--;
}
return 0;
}
题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。