zoukankan      html  css  js  c++  java
  • 九度OnlineJudge之1010 A + B

    题目描述:                       
    读入两个小于100的正整数A和B,计算A+B.
    需要注意的是:A和B的每一位数字由对应的英文单词给出.
    输入:                       
    测试输入包含若干测试用例,每个测试用例占一行,格式为"A + B =",相邻两字符串有一个空格间隔.当A和B同时为0时输入结束,相应的结果不要输出.
    输出:                       
    对每个测试用例输出1行,即A+B的值.
    样例输入:                       
    one + two =
    three four + five six =
    zero seven + eight nine =
    zero + zero =
    样例输出:                       
    3
    90
    96
    #include <iostream>
    #include <string>
    #include <vector>
    #include <cmath>
    using namespace std;
    
    inline int  getInt(string  str)
    {
    	if (str=="zero")  return 0;
    	if (str=="one")  return 1;
    	if (str=="two")  return 2;
    	if (str=="three")  return 3;
    	if (str=="four")  return 4;
    	if (str=="five")  return 5;
    	if (str=="six")  return 6;
    	if (str=="seven")  return 7;
    	if (str=="eight")  return 8;
    	if (str=="nine")  return 9;
    	return -1;
    }
    
    
    int main()
    {
    	vector<string>   vec1,vec2;
    	vector<string>::iterator it;
         string   tmp1,tmp2;
    	int A,B;
    	while(true)
    	{
    		A=0;
            B=0;
    		vec1.clear();
    		vec2.clear();
    		while(cin>>tmp1,tmp1!="+") vec1.push_back(tmp1);
    		while(cin>>tmp2,tmp2!="=") vec2.push_back(tmp2);
    		int len1 = vec1.size();
    		int len2 = vec2.size();
            bool  flag = (*(vec1.begin())=="zero" && *(vec2.begin())=="zero" &&len1==1 &&len2==1);
    	    if (flag)
    	    break;
    		for (int i=0;i<len1;i++)
    		{
    			A = A + getInt(vec1[i]) * (int)pow(10.0,(double)len1-1-i);
    		}
    		for (int i=0;i<len2;i++)
    		{
    			B = B + getInt(vec2[i]) * (int)pow(10.0,(double)len2-1-i);
    		}
    		cout<<A+B<<endl;
    
    	}
    
    
    
    
    
    	//system("pause");
    	return 0;
    }

  • 相关阅读:
    数字配对(bzoj 4514)
    任务查询系统(bzoj 3932)
    楼房重建(bzoj 2957)
    Hotel(poj 3667)
    Can you answer these queries(spoj 1043)
    亚瑟王(bzoj 4008)
    潘多拉的盒子(bzoj 1194)
    Circling Round Treasures(codeforces 375c)
    莫队算法---基础知识介绍(转载)
    HDU 1141---Brackets Sequence(区间DP)
  • 原文地址:https://www.cnblogs.com/ainima/p/6331233.html
Copyright © 2011-2022 走看看