hdu5146

来源:互联网 发布:51单片机串口 编辑:程序博客网 时间:2024/06/08 18:39

题目连接:点击打开链接

题解:题目意思就是给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");



抓狂

0 0
原创粉丝点击