码迷,mamicode.com
首页 > 其他好文 > 详细

POJ 2685

时间:2015-06-11 12:24:57      阅读:126      评论:0      收藏:0      [点我收藏+]

标签:

  1 #include <iostream>
  2 #include <string>
  3 #define MAXN 26
  4 
  5 using namespace std;
  6 
  7 int _map[MAXN];
  8 
  9 string fun(int sum);
 10 
 11 int main()
 12 {
 13     //freopen("acm.acm","r",stdin);
 14     int test;
 15     int i;
 16     string s_1;
 17     string s_2;
 18     int sum_1;
 19     int sum_2;
 20     int sum;
 21     _map[m-a] = 1000;
 22     _map[c-a] = 100;
 23     _map[x-a] = 10;
 24     _map[i-a] = 1;
 25     cin>>test;
 26     while(test --)
 27     {
 28         cin>>s_1>>s_2;
 29         sum_1 = 0;
 30         sum_2 = 0;
 31         for(i = 0; i < s_1.length(); ++ i)
 32         {
 33             
 34             if(s_1[i] >= 2 && s_1[i] <= 9)
 35             {
 36                 ++ i;
 37                 sum_1 += (s_1[i-1]-0)*_map[s_1[i]-a];
 38             }
 39             else
 40             {
 41                 sum_1 += _map[s_1[i]-a];
 42             }
 43         }
 44         for(i = 0; i < s_2.length(); ++ i)
 45         {
 46             if(s_2[i] >= 2 && s_2[i] <= 9)
 47             {
 48                 ++ i;
 49                 sum_2 += (s_2[i-1]-0)*_map[s_2[i]-a];
 50             }
 51             else
 52             {
 53                 sum_2 += _map[s_2[i]-a];
 54             }
 55         }
 56         //cout<<sum_1<<" "<<sum_2<<endl;
 57         sum = sum_1 + sum_2;
 58         cout<<fun(sum)<<endl;
 59     }
 60 }
 61 
 62 string fun(int sum)
 63 {
 64     string s;
 65     int num_m;
 66     int num_c;
 67     int num_x;
 68     int num_i;
 69     num_m = sum/1000;
 70     sum %= 1000;
 71     num_c = sum/100;
 72     sum %= 100;
 73     num_x = sum/10;
 74     sum %= 10;
 75     num_i = sum;
 76     if(num_m != 0)
 77     {
 78         if(num_m == 1)
 79         {
 80             s += m;
 81         }
 82         else
 83         {
 84             s += char(num_m + 0);
 85             s += m;
 86         }
 87     }
 88     if(num_c != 0)
 89     {
 90         if(num_c == 1)
 91         {
 92             s += c;
 93         }
 94         else
 95         {
 96             s += char(num_c + 0);
 97             s += c;
 98         }
 99     }
100 
101     if(num_x != 0)
102     {
103         if(num_x == 1)
104         {
105             s += x;
106         }
107         else
108         {
109             s += char(num_x + 0);
110             s += x;
111         }
112     }
113 
114     if(num_i != 0)
115     {
116         if(num_i == 1)
117         {
118             s += i;
119         }
120         else
121         {
122             s += char(0 + num_i);
123             s += i;
124         }
125     }
126     return s;
127 }

 

POJ 2685

标签:

原文地址:http://www.cnblogs.com/gavinsp/p/4568638.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!