1 条题解

  • 0
    @ 2025-4-14 18:43:49

    C++ :

    #include <stdio.h>
    #include <algorithm>
    using namespace std;
    
    int a[1005];
    int sub[1005];
    
    int main()
    {
        //freopen("a.in","r",stdin);
        //freopen("a.out","w",stdout);
        int i,j,n,T;
        scanf("%d",&T);
        while(T--)
        {
            scanf("%d",&n);
            for (i=0;i<n;i++)
            {
                scanf("%d",&a[i]);
            }
            if (n==1) {printf("Too Many\n");continue;}
            if (n==2 && a[0]==a[1]) {printf("%d\n",a[0]);continue;}
            if (n==2) {printf("Too Many\n");continue;}
    
            for (i=0;i<n-1;i++)
            {
                sub[i]=a[i+1]-a[i];
            }
            for (i=0;i<n-1;i++)
            {
                if (sub[i]!=0) break;
            }
            if (i==n-1) {printf("%d\n",a[0]);continue;}
            if (sub[0]==0) {printf("Bad String\n");continue;}
            int prev;
            for (i=0;i<n-2;i++)
            {
                if (sub[i]!=0 && sub[i+1]%sub[i]!=0) break;
                if (i==0) prev=sub[i+1]/sub[i];
                else if (sub[i+1]!=sub[i]*prev) break;
            }
            if (i<n-2) printf("Bad String\n");
            else
            {
                int A=prev;
                int B=a[1]-a[0]*A;
                printf("%d\n",a[n-1]*A+B);
            }
        }
        return 0;
    }
    
    
    • 1

    信息

    ID
    3360
    时间
    1000ms
    内存
    128MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者