HDU1228 A+B
1.题目
【分析】使用map<string,int>存放单词与对应的数字,给"+"和"="赋予其他整形常量,以便进行判断。
AC的C++代码如下:
#include <iostream>
#include <map>
#include <string>
#include <string.h>
#include <algorithm>
using namespace std;
int main()
{
map<string,int> m;
string s;
int sum1,sum2;
m["zero"] = 0;
m["one"] = 1;
m["two"] = 2;
m["three"] = 3;
m["four"] = 4;
m["five"] = 5;
m["six"] = 6;
m["seven"] = 7;
m["eight"] = 8;
m["nine"] = 9;
m["+"] = 10;
m["="] = 20;
for(;;)
{
sum1 = sum2 = 0;
while(cin >> s)
{
if(m[s] == 10)
break;
sum1 = sum1*10 + m[s];
}
while(cin >> s)
{
if(m[s] == 20)
break;
sum2 = sum2*10 + m[s];
}
if(sum1 == 0 && sum2 == 0)
break;
else
cout << sum1 + sum2 << endl;
}
return 0;
}