HDU 4256 The Famous Clock

时间:2022-05-07
本文章向大家介绍HDU 4256 The Famous Clock,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

The Famous Clock

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 1399    Accepted Submission(s): 940

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 Contest will do so. The scenery in Warsaw is so attractive that Mr. B would always like to take a walk outside for a while after breakfast. However, Mr. B have to go back before training starts, otherwise his teammates will be annoyed. Here is a problem: Mr. B does not have a watch. In order to know the exact time, he has bought a new watch in Warsaw, but all the numbers on that watch are represented in Roman Numerals. Mr. B cannot understand such kind of numbers. Can you translate for him?

Input

Each test case contains a single line indicating a Roman Numerals that to be translated. All the numbers can be found on clocks. That is, each number in the input represents an integer between 1 and 12. Roman Numerals are expressed by strings consisting of uppercase ‘I’, ‘V’ and ‘X’. See the sample input for further information.

Output

For each test case, display a single line containing a decimal number corresponding to the given Roman 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

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4256

分析:这种Case的模式不太会写,然后我直接枚举出来,WA了,我也不知道为啥错了,然后看别人写,去统计,感觉自己好傻,根本没必要那样!

下面给出AC代码:

 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 int main()
 4 {
 5     char s[10];
 6     int k=0;
 7     int ans;
 8     while(gets(s))
 9     {
10         ans=0;
11         int len=strlen(s);
12         for(int i=0;i<len;i++)
13         {
14             if(s[i]=='I')ans++;
15             if(s[i]=='V')ans=5-ans;
16             if(s[i]=='X')ans=10-ans;
17         }
18         printf("Case %d: %dn",++k,ans);
19     }
20     return 0;
21 }