zoukankan      html  css  js  c++  java
  • uva 759

     1 #include <cstdio>
     2 #include <string>
     3 #include <map>
     4 using namespace std;
     5 
     6 const int SIZE = 13;
     7 const int value[] = {1, 4, 5, 9, 10, 40, 50, 90, 100, 400, 500, 900, 1000};
     8 const string sign[] = {"I", "IV", "V", "IX", "X", "XL", "L", "XC", "C", "CD", "D", "CM", "M"};
     9 
    10 int main()
    11 {
    12     map<string, int> dic;
    13     for (int n = 1; n < 4000; n++)
    14     {
    15         int num = n;
    16         string Roman = "";
    17         for(int i = SIZE - 1; i >= 0 && num; i--)
    18         {
    19             while(num >= value[i])
    20             {
    21                 Roman += sign[i];
    22                 num -= value[i];
    23             }
    24         }
    25         dic[Roman] = n;
    26     }
    27 
    28     char s[99];
    29     while(gets(s))
    30     {
    31         if(s[0] == '')
    32         {
    33             puts("0");
    34             continue;
    35         }
    36         if(dic.count(s)) printf("%d
    ", dic[s]);
    37         else printf("This is not a valid number
    ");
    38     }
    39     return 0;
    40 }
  • 相关阅读:
    第九章
    第十章
    第八章
    第七章
    第六章
    第五章
    第四章
    第三章
    第二章
    第一章
  • 原文地址:https://www.cnblogs.com/aze-003/p/5143912.html
Copyright © 2011-2022 走看看