大水题…
为什么我要用SG...
#include <cstdio>
const int N=1000001;
int T;
int sg[N];
int main(){
for(int i=1;i<N;i++){
int t=i,mxd=0,mnd=10;
bool h[10]={0};
while(t){
if(t%10&&t%10>mxd) mxd=t%10;
if(t%10&&t%10<mnd) mnd=t%10;
t/=10;
}
h[sg[i-mxd]]=h[sg[i-mnd]]=1;
for(int j=0;j<10;j++){
if(!h[j]){
sg[i]=j;
break;
}
}
}
scanf("%d",&T);
while(T--){
int t;
scanf("%d",&t);
if(!sg[t]) printf("NO\n");
else printf("YES\n");
}
return 0;
}