记录编号 38176 评测结果 AAAAAAAA
题目名称 序言页码 最终得分 100
用户昵称 GravatarQhelDIV 是否通过 通过
代码语言 C++ 运行时间 0.014 s
提交时间 2012-04-15 11:18:12 内存使用 3.35 MiB
显示代码纯文本
/*
ID:alertya1
PROG:preface
LANG:C++
*/
#include <fstream>
using namespace std;
ifstream fin("preface.in");
ofstream fout("preface.out");
int N,Td[100],dT[10],Ans[100];
string S[10000],R[10000];
void Initialize()
{
int i,j,Obj,digit,temp;
	fin>>N;
	R[1]="I";R[2]="V";R[3]="X";R[4]="L";R[5]="C";R[6]="D";R[7]="M";
	Td['I']=1;Td['V']=2;Td['X']=3;Td['L']=4;Td['C']=5;Td['D']=6;Td['M']=7;
	dT[1]='I';dT[2]='V';dT[3]='X';dT[4]='L';dT[5]='C';dT[6]='D';dT[7]='M';
	S[1]="I";
	S[5]="V";
	S[10]="X";
	S[50]="L";
	S[100]="C";
	S[500]="D";
	S[1000]="M";
	for(i=1;i<=N;i++)
		if(S[i]=="")
		{
			Obj=i;digit=1;
			while(Obj)
			{
				temp=Obj%10;
				if(temp>=1 && temp<=5)
				{
					if(temp>=1 && temp<=3)
						for(j=1;j<=temp;j++)
							S[i].insert(0,R[digit]);
					else
						if(temp==4)
							S[i].insert(0,R[digit]+R[digit+1]);
						else
							S[i].insert(0,R[digit+1]);
				}
				else
				{
					if(temp>=6 && temp<=8)
					{
						for(j=1;j<=temp-5;j++)
							S[i].insert(0,R[digit]);
						S[i].insert(0,R[digit+1]);
					}
					else
						if(temp==9)
							S[i].insert(0,R[digit]+R[digit+2]);
				}
				Obj/=10;
				digit+=2;
			}
		}
}

void Ad_Hoc()
{
int i,j,L;
	for(i=1;i<=N;i++)
	{
		L=S[i].length();
		for(j=0;j<L;j++)
			Ans[Td[S[i][j]]]++;
	}
	for(i=1;i<=10;i++)
		if(Ans[i])
			fout<<char(dT[i])<<" "<<Ans[i]<<endl;
}

int main()
{
	Initialize();
	
	Ad_Hoc();
	
	fin.close();
	fout.close();
	return 0;
}