题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5146
解题思路:BestCoder官方题解:
判断给定的数列是否满足下标为奇数的和等于下标位偶数的和并且不回文. 分别判断两个性质是否都满足就可以了. 时间复杂度O(n).
AC代码:
#include<iostream>
#include<cstdio>
using namespace std;
int a[1010];
int main()
{
int T;
scanf("%d",&T);
while(T--)
{
int i,n,ans1=0,ans2=0,flag=1;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
if(i&1)
ans1+=a[i];
else
ans2+=a[i];
}
if(ans1!=ans2)
printf("No\n");
else
{
for(i=0;i<n;i++)
if(a[i]!=a[n-1-i])
{
flag=0;
break;
}
if(flag)
printf("No\n");
else
printf("Yes\n");
}
}
return 0;
}