#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