这道题目使用Map。 然后一次性遍历下来即可。 QAQ

注意初始化的时候小心点不要错..

Source Code:

  1. //#pragma comment(linker, "/STACK:16777216") //for c++ Compiler
  2. #include <stdio.h>
  3. #include <iostream>
  4. #include <fstream>
  5. #include <cstring>
  6. #include <cmath>
  7. #include <stack>
  8. #include <string>
  9. #include <map>
  10. #include <set>
  11. #include <list>
  12. #include <queue>
  13. #include <vector>
  14. #include <algorithm>
  15. #define Max(a,b) (((a) > (b)) ? (a) : (b))
  16. #define Min(a,b) (((a) < (b)) ? (a) : (b))
  17. #define Abs(x) (((x) > 0) ? (x) : (-(x)))
  18. #define MOD 1000000007
  19. #define pi acos(-1.0)
  20.  
  21. using namespace std;
  22.  
  23. typedef long long ll ;
  24. typedef unsigned long long ull ;
  25. typedef unsigned int uint ;
  26. typedef unsigned char uchar ;
  27.  
  28. template<class T> inline void checkmin(T &a,T b){if(a>b) a=b;}
  29. template<class T> inline void checkmax(T &a,T b){if(a<b) a=b;}
  30.  
  31. const double eps = 1e- ;
  32. const int N = ;
  33. const int M = * ;
  34. const ll P = 10000000097ll ;
  35. const int MAXN = ;
  36. const int INF = 0x3f3f3f3f ;
  37. const int MAX = ;
  38.  
  39. map <string, int> g;
  40.  
  41. void init(){
  42. g["zero"] = , g["one"] = , g["two"] = , g["three"] = , g["four"] = ;
  43. g["five"] = , g["six"] = , g["seven"] = , g["eight"] = , g["nine"] = ;
  44. g["ten"] = , g["eleven"] = , g["twelve"] = , g["thirteen"] = , g["fourteen"] = ;
  45. g["fifteen"] = , g["sixteen"] = , g["seventeen"] = , g["eighteen"] = , g["nineteen"] = ;
  46. g["twenty"] = , g["thirty"] = , g["forty"] = , g["fifty"] = , g["sixty"] = ;
  47. g["seventy"] = , g["eighty"] = , g["ninety"] = ;
  48. }
  49.  
  50. int main(){
  51. std::ios::sync_with_stdio(false);
  52. int i, j, t, k, u, v, x, y, numCase = ;
  53. init();
  54. cin >> t;
  55. cin.get();//
  56. while(t--){
  57. string ss;
  58. getline(cin, ss, '\n');//
  59. ss += ' ';
  60. int len = ss.length();
  61. int num = , cur = , ans = ;
  62. for(i = ; i < len; ++i){
  63. if(ss[i] == ' '){
  64. string str = ss.substr(num, i - num);
  65. num = i + ;
  66. if(str == "and"){
  67. continue;
  68. } else if(str == "million"){
  69. cur *= ;
  70. ans += cur;
  71. cur = ;
  72. } else if(str == "thousand"){
  73. cur *= ;
  74. ans += cur;
  75. cur = ;
  76. } else if(str == "hundred"){
  77. cur *= ;
  78. } else{
  79. cur += g[str];
  80. }
  81. }
  82. }
  83. ans += cur;
  84. cout << ans << endl;
  85. }
  86.  
  87. return ;
  88. }

ZOJ2971 Give Me the Number 【模拟】的更多相关文章

  1. Codeforces Round #350 (Div. 2) F. Restore a Number 模拟构造题

    F. Restore a Number   Vasya decided to pass a very large integer n to Kate. First, he wrote that num ...

  2. zzuli 1817: match number 模拟

    1817: match number Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 199  Solved: 72 SubmitStatusWeb B ...

  3. .NET基础拾遗(5)多线程开发基础

    Index : (1)类型语法.内存管理和垃圾回收基础 (2)面向对象的实现和异常的处理基础 (3)字符串.集合与流 (4)委托.事件.反射与特性 (5)多线程开发基础 (6)ADO.NET与数据库开 ...

  4. 杭电ACM分类

    杭电ACM分类: 1001 整数求和 水题1002 C语言实验题——两个数比较 水题1003 1.2.3.4.5... 简单题1004 渊子赛马 排序+贪心的方法归并1005 Hero In Maze ...

  5. .NET面试题系列[18] - 多线程同步(1)

    多线程:线程同步 同步基本概念 多个线程同时访问共享资源时,线程同步用于防止数据损坏或发生无法预知的结果.对于仅仅是读取或者多个线程不可能同时接触到数据的情况,则完全不需要进行同步. 线程同步通常是使 ...

  6. java克隆之深拷贝与浅拷贝

    版权声明:本文出自汪磊的博客,转载请务必注明出处. Java深拷贝与浅拷贝实际项目中用的不多,但是对于理解Java中值传递,引用传递十分重要,同时个人认为对于理解内存模型也有帮助,况且面试中也是经常问 ...

  7. Web3.js API 中文文档

    Web3.js API 中文文档 http://web3.tryblockchain.org/Web3.js-api-refrence.html web3对象提供了所有方法. 示例: //初始化过程 ...

  8. 转载:hdu 题目分类 (侵删)

    转载:from http://blog.csdn.net/qq_28236309/article/details/47818349 基础题:1000.1001.1004.1005.1008.1012. ...

  9. nmap教程(下)

    九.脚本引擎 脚本文件存放在/usr/share/nmap/scripts目录下 SCRIPT SCAN: -sC: equivalent to --script=default #启用默认类脚本 - ...

随机推荐

  1. ASP.Net MVC3 - The easier to run Unit Tests by moq #Reprinted#

    From: http://www.cnblogs.com/techborther/archive/2012/01/10/2317998.html 前几天调查完了unity.现在给我的任务是让我调查Mo ...

  2. IOS 取值控件(UIPicker)的使用方法

    1.简单地取值控件示例 我们要做的一个UITextFiled,当点击UITextFiled,出现一个UIPick取值的页面,可以选择性别,在viewDidLoad中写下 //sexPicker UIP ...

  3. web 性能优化指南阅读笔记

    1.关于拥塞预防算法 PRR-比例降速,RFC6937 规定的一个新算法,其目标是改进丢包后的恢复速度,谷歌测量结果:该算法改进丢包造成的平均连接延迟减少了3%-10%.PRR是linux 3.2+内 ...

  4. 扩展ASP.NET MVC HtmlHelper类

    在这篇帖子中我会使用一个示例演示扩展ASP.NET MVC HtmlHelper类,让它们可以在你的MVC视图中工作.这个示例中我会提供一个简单的方案生成Html表格. HtmlHelper类 Htm ...

  5. angularjs学习总结(快速预览版)

    对html标签的增强 -> 指令 指令的本质是什么 声明的方式调用相应的脚本,实现一些操作,声明的所在的dom就是脚本的执行上下文? 自定义标签 -- 标签指令自定义属性 -- 属性指令特定格式 ...

  6. [转]IE和Firefox兼容性问题及解决方法

    今天测试代码时,发现不少IE可以运行的ajax,但在FF中报错.IE和Firefox(火狐)在JavaScript方面的不兼容及统一方法总结如下: 1.兼容firefox的 outerHTML,FF中 ...

  7. android怎样自定义设置下拉列表样式

    图样: 实现方式: 1.水平布局一个TextView和一个ImageView(小黑箭头) 2.实现点击ImageView的单击事件,弹出PopupWindow 3.PopupWindow中实现下拉列表 ...

  8. [cocos2d-x]用CCSpriteBatchNode进行文理贴图的优化

    引言: 我们在进行手机游戏开发的过程中,由于手机的内存资源是有限的,那么对纹理贴图的优化是非常有必要的,有可能相同的功能,优化的好与不好对内存资源的消耗是非常明显的,下面我就用一个例子来说明一下. 说 ...

  9. 令人作呕的OpenSSL

    在OpenSSL心脏出血之后,我相信非常多人都出了血,而且流了泪...网上瞬间出现了大量吐嘈OpenSSL的文章或段子,仿佛内心的窝火一瞬间被释放了出来,跟着这场疯闹,我也吐一下嘈,以雪这些年被Ope ...

  10. WLAN和WIFI的区别

    在刚刚为大家介绍的wifi上网是什么意思?文章中为大家介绍了什么wifi无线上网,但大家可能会有这样的疑问,听说最多的应该是WLAN无线上网,很多笔记本电脑使用的都是WLAN无线上网,那么wlan和w ...