哈理工校园编程练习赛杭电 acm 4256 H.The Famous Clock
The Famous Clock
Time Limit: 2000/1000 MS(Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 1075 Accepted Submission(s): 714
Problem Description
Mr. B, Mr. G and Mr.M are now in Warsaw, Poland, for the 2012’s ACM-ICPC World Finals Contest.They’ve decided to take a 5 hours training every day before the contest. Also,they plan to start training at 10:00 each day since the World Final Contestwill do so. The scenery in Warsaw is so attractive that Mr. B would always liketo take a walk outside for a while after breakfast. However, Mr. B have to goback before training starts, otherwise his teammates will be annoyed. Here is aproblem: Mr. B does not have a watch. In order to know the exact time, he hasbought a new watch in Warsaw, but all the numbers on that watch are representedin Roman Numerals. Mr. B cannot understand such kind of numbers. Can youtranslate for him?
Input
Each test casecontains a single line indicating a Roman Numerals that to be translated. Allthe numbers can be found on clocks. That is, each number in the inputrepresents an integer between 1 and 12. Roman Numerals are expressed by stringsconsisting of uppercase ‘I’, ‘V’ and ‘X’. See the sample input for furtherinformation.
Output
For each test case,display a single line containing a decimal number corresponding to the givenRoman Numerals.
Sample Input
I
II
III
IV
V
VI
VII
VIII
IX
X
XI
XII
Sample Output
Case 1: 1
Case 2: 2
Case 3: 3
Case 4: 4
Case 5: 5
Case 6: 6
Case 7: 7
Case 8: 8
Case 9: 9
Case 10: 10
Case 11: 11
Case 12: 12
Source
Fudan Local Programming Contest 2012
此题解法 很简单,定义一个string数组即可,或着也可以创建一个二维数组:
#include<iostream>
#include<string>
usingnamespace std;
intmain()
{
int t=0;
string str[12]=
{"I","II","III","IV","V","VI","VII","VIII","IX","X","XI","XII"};
string str2;
while(cin>>str2)
{
for(int i=0;i<12;i++)
if(str2==str[i])
{
printf("Case %d: ",++t);
cout<<i+1<<endl;
}
}
return 0;

浙公网安备 33010602011771号