题目连接:点击打开链接
题解:题目意思就是给n个数,判断奇数位和偶数位是否相等,而且不能是回文序列
判断回文序列只要对应位不相等,就可以得出结论。具体看代码
代码
#include <iostream>
#include <cstdio>
#include <cmath>
#include <cstring>
using namespace std;
int main()
{
int t,n,sum1,sum2,flag;
int a[1001];
cin>>t;
while(t--)
{
cin>>n;
flag=0;
memset(a,0,sizeof(a));
sum1=0;
sum2=0;
for(int i=1;i<=n;i++)
{
cin>>a[i];
if(i%2==1)
sum1+=a[i];
else
sum2+=a[i];
}
for(int i=1;i<=n/2;i++)
{
if(a[i]!=a[n-i+1])
{
flag=1;
break;
}
}
//printf("%d %d %d\n",flag,sum1,sum2);
if(!flag||sum1!=sum2)
printf("No\n");
else
printf("Yes\n");
}
return 0;
}
直接判断是不是回文序列
for(int i=1;i<=n;i++)
{
if(a[i]!=a[n-i+1])
{
flag=1;
break;
}
}
if(flag) printf("no\n");
else printf("yes\n");