比赛 EYOI与SBOI开学欢乐赛12th 评测结果 AAAAAAAAAA
题目名称 数字的游戏 最终得分 100
用户昵称 nick 运行时间 0.810 s
代码语言 C++ 内存使用 9.55 MiB
提交时间 2022-10-17 21:17:48
显示代码纯文本
#include<bits/stdc++.h>
#define MAXN 1000001
using namespace std;
int n,maxn,minn,sg[MAXN];
void pre()
{
    for(int i=1;i<=9;i++) sg[i]=1;
    for(int i=10;i<=MAXN-1;i++)
    {
        int x=i;
        minn=10,maxn=0;
        while(x)
        {
            int xx=x%10;
            x/=10;
            if(xx) minn=min(xx,minn);
            if(xx) maxn=max(maxn,xx);
        }
        if(!sg[i-minn]||!sg[i-maxn]) sg[i]=1;
        else sg[i]=0;
    }
}
int main()
{
    freopen("cdgame.in","r",stdin);
    freopen("cdgame.out","w",stdout);
    int x;
    pre();scanf("%d",&n);
    for(int i=1;i<=n;i++)
    {
        scanf("%d",&x);
        if(sg[x]) printf("YES\n");
        else printf("NO\n");
    }
    return 0;
}