大意:按照所给规律,将罗马数字转化为十进制数字
//Memory: 220K
//Time: 15MS
#include <stdio.h>
#include <string.h>
int main()
{
int cas;
scanf("%d",&cas);
while(cas--)
{
int sum=0;
char a[50];
scanf("%s",&a);
int l=strlen(a);
int i;
for(i=0;i<l;i++)
{
if(a[i]=='M')
sum+=1000;
else if(a[i]=='D')
sum+=500;
else if(a[i]=='C')
{
if(a[i+1]=='M' ||a[i+1]=='D')
sum-=100;
else
sum+=100;
}
else if(a[i]=='L')
sum+=50;
else if(a[i]=='X')
{
if(a[i+1]=='L' ||a[i+1]=='C')
sum-=10;
else
sum+=10;
}
else if(a[i]=='V')
sum+=5;
else if(a[i]=='I')
{
if(a[i+1]=='V' ||a[i+1]=='X')
sum-=1;
else
sum+=1;
}
}
printf("%d\n",sum);
}
return 0;
}