大水题。。
#include<iostream>
#include<algorithm>
#include<cstdio>
#include<string>
using namespace std;
int change(string temp)//将输入的temp转化为数字1,2,,,10
{
if(temp.size()==0)
{
return 0;
}
if(temp.compare("I")==0)
{
return 1;
}
if(temp.compare("II")==0)
{
return 2;
}
if(temp.compare("III")==0)
{
return 3;
}
if(temp.compare("IV")==0)
{
return 4;
}
if(temp.compare("V")==0)
{
return 5;
}
if(temp.compare("VI")==0)
{
return 6;
}
if(temp.compare("VII")==0)
{
return 7;
}
if(temp.compare("VIII")==0)
{
return 8;
}
if(temp.compare("IX")==0)
{
return 9;
}
if(temp.compare("X")==0)
{
return 10;
}
}
int main()
{
int total;
cin>>total;
while(total--)
{
string Roman;
cin>>Roman;
int ans;
if(Roman.size()>=1&&Roman[0]=='L')
{
cout<<"50"<<endl;
continue;
}
if(Roman.size()>=2&&Roman[0]=='X'&&Roman[1]=='L')
{
ans=40;
string t(Roman,2,Roman.size()-2);
ans+=change(t);
cout<<ans<<endl;
continue;
}
if(Roman.size()>=3&&Roman[0]=='X'&&Roman[1]=='X'&&Roman[2]=='X')
{
ans=30;
string t(Roman,3,Roman.size()-3);
ans+=change(t);
cout<<ans<<endl;
continue;
}
if(Roman.size()>=2&&Roman[0]=='X'&&Roman[1]=='X')
{
ans=20;
string t(Roman,2,Roman.size()-2);
ans+=change(t);
cout<<ans<<endl;
continue;
}
if(Roman.size()>=1&&Roman[0]=='X')
{
ans=10;
string t(Roman,1,Roman.size()-1);
ans+=change(t);
cout<<ans<<endl;
continue;
}
cout<<change(Roman)<<endl;
}
return 0;
}