记录编号 |
38176 |
评测结果 |
AAAAAAAA |
题目名称 |
序言页码 |
最终得分 |
100 |
用户昵称 |
QhelDIV |
是否通过 |
通过 |
代码语言 |
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;
}