1020

    xiaoxiao2021-12-02  22

    #include<stdio.h> int data[10][51] = {{0}}; int* c; int* d; int s,n; int f(int a){     int i,j,l,p,q;     if (a==n || n - a == c[1]) return 1;     for (i=0,l=40;i<s;i++)if(d[i]<l){l=d[i];p=i;}     for (i = p+1,q=1;i<s&&d[i]==l&&q<=10;++i,++q);     for (i=q;i>=1;i--)if (c[i]>0 && l+i<=s){         for (j=p;j<p+i;j++) d[j]=l+i;         c[i]--;         if(f(a+1))return 1;         c[i]++;         for (j=p;j<p+i;j++) d[j]=l;     }     return 0; } int main(){     int t,i,l,sum;     scanf("%d",&t);     while(t-- > 0){         c = &(data[t][0]);         d = c+11;         scanf("%d %d",&s,&n);         sum=0;         for(i=0;i<n;i++){             scanf("%d",&l);             c[l]++;             sum+=l*l;         }         if(sum==s*s&&f(0)) printf("KHOOOOB!\n");         else printf("HUTUTU!\n");     }     return 0; }
    转载请注明原文地址: https://ju.6miu.com/read-679629.html

    最新回复(0)