博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
USACO1.2 Name That Number(namenum)
阅读量:6828 次
发布时间:2019-06-26

本文共 1232 字,大约阅读时间需要 4 分钟。

hot3.png

        本题方法较多,这里使用一种比较笨重的方法。将dict.txt中的string全部计算出其对应值,注意要使用long long类型保存,然后make_pair(string,long long)存进map,从头开始检查iter->second是否等于输入的number,如果相等就输出it->first,直到iter==map.end;如果没有检测到相等的,就输出"NONE"。

 

/*ID:jzzlee1PROG:namenumLANG:C++*/#include 
#include
#include
#include
#include
#include
#include
using namespace std;ifstream fin("dict.txt");ifstream fin2("namenum.in");ofstream fout("namenum.out");int char_num(char ch){ switch(ch) { case'A': case'B': case'C': return 2; case'D': case'E': case'F': return 3; case'G': case'H': case'I': return 4; case'J': case'K': case'L': return 5; case'M': case'N': case'O': return 6; case'P': case'S': case'R': return 7; case'T': case'U': case'V': return 8; case'W': case'X': case'Y': return 9; }}int main(){ string str;long long num;string::size_type i;map
maps; while(getline(fin,str)) { num=0; for(i=0;i!=str.size();i++) { num=num*10+char_num(str[i]); } maps.insert(make_pair(str,num)); } long long x;string ex="KRISTOPHER"; fin2>>x; map
::iterator iter,it;bool flag=1; for(iter=maps.begin();iter!=maps.end();iter++) { if(iter->second==x) { fout<
first<

转载于:https://my.oschina.net/u/347565/blog/61371

你可能感兴趣的文章
centos知识点巩固
查看>>
碎纸片中的我的大学
查看>>
StreamWriter写入文件
查看>>
MQ 2035
查看>>
CCR与DAG的区别
查看>>
交换安全
查看>>
freemarker@ # $使用方法的区别
查看>>
Synchronized——实现原理、底层优化
查看>>
快速搭建 Discuz 论坛
查看>>
pip升级常见故障解决心得
查看>>
C语言:指针的运用
查看>>
TortoiseSVN 源码相关网址
查看>>
C语言贪吃蛇代码
查看>>
共享打印机:已达到计算机的连接数最大值,无法再同此远程计算机连接
查看>>
dos2unix 和 unix2dos
查看>>
iOS-应用程序沙盒机制(SandBox)
查看>>
JAVA多线程(十)模式-Work Thread和阶段总结
查看>>
linux中时间设置date、hwclock、clock
查看>>
Linux 软件包管理之RPM
查看>>
Linux bash入门
查看>>