比赛 20111111 评测结果 AAAAAAAAAA
题目名称 吉祥数 最终得分 100
用户昵称 song 运行时间 0.000 s
代码语言 C++ 内存使用 0.00 MiB
提交时间 2011-11-11 10:50:21
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int n,ni[210],l=0,ki[210]={0},ln=0;
int cf(int s,int x);
int main()
{
	freopen("ghillie.in","r",stdin);
	freopen("ghillie.out","w",stdout);
	cin>>n;
	char ch[3];
	for(int i=1;;)
	{
		cin>>ch;
		ni[i]=1;
		int li;
		li=strlen(ch);
		if(li==0)
		{
			break;
		}
		else
		{
		    for(int j=0;j<li;j++)
		    {
		        if(j!=0)
			    ni[i]=ni[i]*10+ch[j]-'0';
			    else
			    ni[i]=ch[j]-'0';
			 
		    }
			i++;
		    ln++;
		}
		if(ni[i-2]==ni[i-1])
		{
			ln--;
			break;
		}
	}
	l=ln;
	for(int i=1;i<ln;i++)
	{
		for(int j=1;j<ln;j++)
		{
			if(ni[j]>ni[j+1])
			{
				int t=0;
				t=ni[j];
				ni[j]=ni[j+1];
				ni[j+1]=t;
			}
		}
	}
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=ln;j++)
		{
			int k=1,g=1;
			if(ki[j]==0)
			{
			    k=cf(i+1,j);
			    for(int q=1;q<=ln;q++)
			    {
				    if(k==ni[q])
					{
				        ki[q]=1;
						l--;
					}
					if(l==0)
					{
						break;
					}
			    }
			}
			if(l==0)
			{
				break;
			}
		}
		if(l==0)
		{
			break;
		}
	}
	for(int i=1;i<=ln;i++)
	{
		if(ki[i]==0)
		{
			cout<<ni[i]<<' ';
		}
	}
}
int cf(int s,int x)
{
	int a,b,c,z;
	z=ni[x];
	a=z%10;
	z=z/10;
	b=z%10;
	z=z/10;
	c=z%10;
	int a1=1,b1=1,c1=1;
	for(int y=1;y<s;y++)
	{
		a1=a*a;
		b1=b*b;
		c1=c*c;
	}
	z=a1+b1+c1;
	return z;
}