记录编号 38239 评测结果 AAAAAAAAAA
题目名称 [USACO Open09] 数字的游戏 最终得分 100
用户昵称 GravatarMakazeu 是否通过 通过
代码语言 C++ 运行时间 0.867 s
提交时间 2012-04-16 15:16:18 内存使用 0.30 MiB
显示代码纯文本
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <bitset>
#include <algorithm>
#define MAXN  1000001
using namespace std;
inline int Max(int a,int b) {return a>b?a:b;}
inline int Min(int a,int b) {return a<b?a:b;}
int main()
{
	freopen("cdgame.in","r",stdin);
	freopen("cdgame.out","w",stdout);
	bitset<1000011> flag; flag.reset(); int x,y;
	for(int i=1;i<=1000000;i++)
	{
		x=i;  y=0; 
		int min=10,max=0;
		while(x)
		{
			y=x%10;
			x/=10;
			if(!y) continue;
			min=Min(min,y);  max=Max(max,y);
		}
		flag[i]=(!flag[i-min]) || (!flag[i-max]);
	}
	int G; scanf("%d\n",&G); 
	for(int i=1;i<=G;i++)
	{
		scanf("%d\n",&x);
		printf(flag.test(x)?"YES":"NO"); printf("\n");
	}
	//for(int i=0;i<=1000000;i++)
	//	if(!flag.test(i)) printf("%d\n",i);
	return 0;
}