记录编号 129222 评测结果 AAAA
题目名称 [NOIP 1999]回文数 最终得分 100
用户昵称 Gravatar水中音 是否通过 通过
代码语言 C++ 运行时间 0.001 s
提交时间 2014-10-19 16:45:22 内存使用 0.32 MiB
显示代码纯文本
#include<iostream>
#include<cstdio>
using namespace std;
char s[100],w;
int a1[101]={0},a2[101]={0},a3[101]={0},n,m,x,i,p,zj1,zj2;
void init()
{
	scanf("%d",&n);
	scanf("%s",s+1);
	i=1;
	while((s[i]>='0'&&s[i]<='9')||(s[i]>='a'&&s[i]<='f'))i++;
	m=i-1;i=101;
	while(m)
	{
		i--;
		if(s[m]>='0'&&s[m]<='9')a2[i]=s[m]-48;
		else a2[i]=s[m]-87;
		m--;
	}
}
void add()
{
	zj1=0;
	while(!a2[zj1])zj1++;
	for(zj2=zj1;zj2<=100;zj2++)
	{
		a1[zj2]=a2[zj2];
		a2[zj2]=0;
	}
	for(x=100;zj1<=100;zj1++,x--)
	{
		a2[x]+=a1[x]+a1[zj1];
		while(a2[x]>=n)
		{
			a2[x]-=n;
			a2[x-1]++;
		}
	}
}
bool flag()
{
	zj1=0;
	while(!a2[zj1])zj1++;
	zj2=zj1;x=100;
	while(zj2<100&&a2[zj2]==a2[x])
	{
		zj2++;
		x--;
	}
	if(a2[zj2]==a2[x])return true;
	else return false;
}
int main()
{
	freopen("huiwen.in","r",stdin);
	freopen("huiwen.out","w",stdout);
	init();
	if(flag())
	{
		printf("%s\n",s);
		printf("%d\n",0);
		return 0;
	}
	for(i=1;i<=30;i++)
	{
		add();
		if(flag())
		{
			for(;x<100;x++)
			{
				if(a2[x]<10) printf("%d",a2[x]);
				else
				{
					w=a2[x]+87;
					printf("%c",w);
				}
			}
			if(a2[x]<10) printf("%d\n",a2[x]);
			else
			{
				w=a2[x]+87;
				printf("%c\n",w);
			}
			printf("%d\n",i);
			return 0;
		}
	}
	printf("impossible\n");
	return 0;
}