94北縣賽-3-羅馬數字 (Roman)
作法:暴力.
/*********************************************************/
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void make(int X)
{
if(X/10>0)
{
if(X/10==9)
printf("XC");
if(X/10==8)
printf("LXXX");
if(X/10==7)
printf("LXX");
if(X/10==6)
printf("LX");
if(X/10==5)
printf("L");
if(X/10==4)
printf("XL");
if(X/10==3)
printf("XXX");
if(X/10==2)
printf("XX");
if(X/10==1)
printf("X");
X=X-X/10*10;
}
if(X>0)
{
if(X==9)
printf("IX");
if(X==8)
printf("VIII");
if(X==7)
printf("VII");
if(X==6)
printf("VI");
if(X==5)
printf("V");
if(X==4)
printf("IV");
if(X==3)
printf("III");
if(X==2)
printf("II");
if(X==1)
printf("I");
}
printf("\n");
}
main()
{
char x[1000],y[1000];
while(scanf("%s %s",x,y)==2)
{
int X=0,a,b,Y=0;
for(a=0;a<strlen(x);a++)
{
if(x[a]=='I')
X+=1;
if(x[a]=='V')
{
X+=5;
if(a!=0&&x[a-1]=='I')
X-=2;
}
if(x[a]=='X')
{
X+=10;
if(a!=0&&x[a-1]=='I')
X-=2;
if(a!=0&&x[a-1]=='V')
X-=10;
}
if(x[a]=='L')
{
X+=50;
if(a!=0&&x[a-1]=='I')
X-=2;
if(a!=0&&x[a-1]=='V')
X-=10;
if(a!=0&&x[a-1]=='X')
X-=20;
}
}
/********************另一個數字****************眼花花防止線*/
for(a=0;a<strlen(y);a++)
{
if(y[a]=='I')
Y+=1;
if(y[a]=='V')
{
Y+=5;
if(a!=0&&y[a-1]=='I')
{
Y-=2;
}
}
if(y[a]=='X')
{
Y+=10;
if(a!=0&&y[a-1]=='I')
Y-=2;
if(a!=0&&y[a-1]=='V')
Y-=10;
}
if(y[a]=='L')
{
Y+=50;
if(a!=0&&y[a-1]=='I')
Y-=2;
if(a!=0&&y[a-1]=='V')
Y-=10;
if(a!=0&&y[a-1]=='X')
Y-=20;
}
}
X=X+7+(Y+30)/60;
make(X%24);
make((Y+30)%60);
}
return 0;
}