• bestcoder#23 1001 Sequence


    Sequence


    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
    Total Submission(s): 712    Accepted Submission(s): 439


    Problem Description
    Today we have a number sequence A includes n elements.
    Nero thinks a number sequence A is good only if the sum of its elements with odd index equals to the sum of its elements with even index and this sequence is not a palindrome.
    Palindrome means no matter we read the sequence from head to tail or from tail to head,we get the same sequence.
    Two sequence A and B are consider different if the length of A is different from the length of B or there exists an index i that AiBi.
    Now,give you the sequence A,check out it’s good or not.
     
    Input
    The first line contains a single integer T,indicating the number of test cases.
    Each test case begins with a line contains an integer n,the length of sequence A.
    The next line follows n integers A1,A2,,An.

    [Technical Specification]
    1 <= T <= 100
    1 <= n <= 1000
    0 <= Ai <= 1000000
     
    Output
    For each case output one line,if the sequence is good ,output "Yes",otherwise output "No".
     
    Sample Input
    3 7 1 2 3 4 5 6 7 7 1 2 3 5 4 7 6 6 1 2 3 3 2 1
     
    Sample Output
    No Yes No
     
    #include <cstdio>
    #include <cmath>
    #include <cstring>
    #include <ctime>
    #include <iostream>
    #include <algorithm>
    #include <set>
    #include <vector>
    #include <sstream>
    #include <queue>
    #include <typeinfo>
    #include <fstream>
    typedef long long ll;
    using namespace std;
    //freopen("D.in","r",stdin);
    //freopen("D.out","w",stdout);
    #define sspeed ios_base::sync_with_stdio(0);cin.tie(0)
    #define maxn 1005
    const int inf=0x7fffffff;   //无限大
    int a[maxn];
    int main()
    {
        int n;
        cin>>n;
        while(n--)
        {
            //memset(a,0,sizeof(a));
            int b;
            scanf("%d",&b);
            ll ans1=0;
            ll ans2=0;
            for(int i=0;i<b;i++)
            {
                scanf("%d",&a[i]);
                if(i%2==0)
                    ans1+=a[i];
                else
                    ans2+=a[i];
            }
            if(ans1!=ans2)
                cout<<"No"<<endl;
            else
            {
                int flag=0;
                for(int i=0;i<b;i++)
                {
                    if(a[i]!=a[b-i-1])
                    {
                        flag=1;
                        break;
                    }
                }
                if(flag==0)
                    cout<<"No"<<endl;
                else
                    cout<<"Yes"<<endl;
            }
        }
        return 0;
    }
  • 相关阅读:
    通过修改配置文件修改MySQL的时区设置
    五子棋输赢判定算法
    windows下通过压缩包安装MySQL
    systemctl命令详解
    普通用户从其他主机连接MySQL数据库
    ubuntu普通用户使用wireshark的权限问题
    账号管理文件/etc/passwd和/etc/shadow
    为什么处理有序数组比无序数组快?
    一些图像处理函数用法
    基于C++求两个数的最大公约数最小公倍数
  • 原文地址:https://www.cnblogs.com/qscqesze/p/4176205.html
Copyright © 2020-2023  润新知