• 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
    分析:这种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: %d
    ",++k,ans);
    19     }
    20     return 0;
    21 }
  • 相关阅读:
    找到一种给vs2012对话框插入背景图片不会失真的方法
    第一次用C语言把数据写入文件中
    Java学习路线图
    一:MyBatis Generator 【SpringMvc+Spring+MyBatis+Maven整合学习笔记】
    windows系统安装Redis
    js子级窗口相互调用父级的方法
    MSSQL 发布订阅,实现读写分离
    查看MS SQL最耗时间资源的SQL
    数据库优化
    mybatis与hibernate区别
  • 原文地址:https://www.cnblogs.com/ECJTUACM-873284962/p/6414173.html
Copyright © 2020-2023  润新知