比赛 20120416 评测结果 AAAAAAAAAA
题目名称 数字的游戏 最终得分 100
用户昵称 QhelDIV 运行时间 0.000 s
代码语言 C++ 内存使用 0.00 MiB
提交时间 2012-04-16 09:03:44
显示代码纯文本
#include <fstream>
using namespace std;
ifstream fin("cdgame.in");
ofstream fout("cdgame.out");
int G,N_i[20000],Max,mxi,mni;bool f[2000000];
void Solve()
{
int i;
	fin>>G;
	for(i=1;i<=G;i++)
	{
		fin>>N_i[i];
		Max=max(Max,N_i[i]);
	}
}

void Figure(int Obj)
{
	mxi=0;mni=~0u>>1;
	while (Obj)
	{
		mxi=max(mxi,Obj%10);
		if((Obj%10)!=0)
			mni=min(mni,Obj%10);
		Obj/=10;
	}
	if(mni==~0u>>1)
		mni=mxi;
}

void dp()
{
int i;
	f[0]=false;
	for(i=1;i<=Max;i++)
	{
		Figure(i);
		f[i]=(!f[i-mxi])||(!f[i-mni]);
	}
	for(i=1;i<=G;i++)
		if(f[N_i[i]])
			fout<<"YES"<<endl;
		else
			fout<<"NO"<<endl;
}

int main()
{
	Solve();
	
	dp();
	
	fin.close();
	fout.close();
	return 0;
}