题目描述

2013年X月X日,俄罗斯办理了斯诺登的护照,于是他混迹于一架开往委内瑞拉的飞机。但是,这件事情太不周密了,因为FBI的间谍早已获悉他的具体位置——但这不是最重要的——最重要的是如果要去委内瑞拉,那么就要经过古巴,而经过古巴的路在美国的掌控之中。丧心病狂的奥巴马迫降斯诺登的飞机,搜查时却发现,斯诺登杳无踪迹。但是,在据说是斯诺登的座位上,发现了一张纸条。纸条由纯英文构成:Obama is a two five zero.(以"."结束输出,只有6个单词+一个句号,句子开头如没有大写亦为合法)这句话虽然有点无厘头,但是警官陈珺骛发现这是一条极其重要的线索。他在斯诺登截获的一台笔记本中找到了一个C++程序,输入这条句子后立马给出了相对应的密码。陈珺鹜高兴得晕了过去,身为警官的你把字条和程序带上了飞机,准备飞往曼哈顿国际机场,但是在飞机上检查的时候发现——程序被粉碎了!飞机抵达华盛顿只剩5分钟,你必须在这5分钟内编写(杜撰)一个程序,免受上司的10000000000%10大板。破译密码的步骤如下:

(1)找出句子中所有用英文表示的数字(≤20),列举在下:

正规:one two three four five six seven eight nine ten eleven twelve thirteen fourteen fifteen sixteen seventeen eighteen nineteen twenty

非正规:a both another first second third

(2)将这些数字平方后%100,如00,05,11,19,86,99。

(3)把这些两位数按数位排成一行,组成一个新数,如果开头为0,就去0。

(4)找出所有排列方法中最小的一个数,即为密码。

输入输出格式

输入格式:

一个含有6个单词的句子。

输出格式:

一个整型变量(密码)。

输入输出样例

输入样例#1:

Black Obama is two five zero .

输出样例#1:

425

思路:

暴力打表,将所有用英文表示的数字平方后%100,存入数组,再进行升序排序,最后拼接输出即可。

源代码

#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;
int main()
{int a[7];char word[20];long long ans=0;int k=0;int i;for(i=1;i<=6;i++)//6个单词,循环6次,暴力打表{scanf("%s",word);if(!strcmp(word,"one")||!strcmp(word,"a")||!strcmp(word,"another")||!strcmp(word,"first")){a[k]=1;k++;}else if(!strcmp(word,"two")||!strcmp(word,"both")||!strcmp(word,"second")){a[k]=4;k++;}else if(!strcmp(word,"three")||!strcmp(word,"third")){a[k]=9;k++;}else if(!strcmp(word,"four")){a[k]=16;k++;}else if(!strcmp(word,"five")){a[k]=25;k++;}else if(!strcmp(word,"six")){a[k]=36;k++;}else if(!strcmp(word,"seven")){a[k]=49;k++;}else if(!strcmp(word,"eight")){a[k]=64;k++;}else if(!strcmp(word,"nine")){a[k]=81;k++;}else if(!strcmp(word,"ten")){a[k]=0;k++;}else if(!strcmp(word,"eleven")){a[k]=21;k++;}else if(!strcmp(word,"twelve")){a[k]=44;k++;}else if(!strcmp(word,"thirteen")){a[k]=69;k++;}else if(!strcmp(word,"fourteen")){a[k]=96;k++;}else if(!strcmp(word,"fifteen")){a[k]=25;k++;}else if(!strcmp(word,"sixteen")){a[k]=56;k++;}else if(!strcmp(word,"seventeen")){a[k]=89;k++;}else if(!strcmp(word,"eighteen")){a[k]=24;k++;}else if(!strcmp(word,"ninteen")){a[k]=61;k++;}else if(!strcmp(word,"twenty")){a[k]=0;k++;}}scanf("%s",word);//读取句号sort(a,a+k);//升序排序for(i=0;i<k;i++)//组合数字ans=ans*100+a[i];printf("%lld",ans);//输出return 0;
}

斯诺登的密码(洛谷-P1603)相关推荐

  1. 洛谷P1603,P1597

    第6章 字符串与文件操作 文章目录 第6章 字符串与文件操作 L P1603 斯诺登的密码 何为斯诺登事件? 理解题意 1.输入 2.运算排列 3.排列 因此,可得代码 代码 解释 N P1597 语 ...

  2. 洛谷P1603 斯诺登的密码 题解

    蒟蒻来写题解了 说是水题其实也就是慢慢写能写出来的题吧,这道题有挺多坑的,要注意的点: 1.除了第一位数是个位数,直接输出,其他的个位数都要补0达到两位,例如:925和2509,这里只是单纯讨论输出问 ...

  3. 递归——外星密码(洛谷 P1928)

    题目选自洛谷P1928 这道题很明显得用递归来做,我这里给出很清楚的解题思路,供大家参考! 1.初步思路 输入的这个字符串是被多重「压缩」的,所以一重一重地「解压缩」可能会非常非常麻烦(不过应该是可行 ...

  4. 洛谷 P1603 斯诺登的密码

    原题链接: https://www.luogu.com.cn/problem/P1603https://www.luogu.com.cn/problem/P1603 题目描述 2013 年 X 月 X ...

  5. 洛谷——P1603 斯诺登的密码

    题目背景 根据斯诺登事件出的一道水题 题目描述 题目描述 2013年X月X日,俄罗斯办理了斯诺登的护照,于是他混迹于一架开往委内瑞拉的飞机.但是,这件事情太不周密了,因为FBI的间谍早已获悉他的具体位 ...

  6. 洛谷P1603 斯诺登的密码

    题目 2013年X月X日,俄罗斯办理了斯诺登的护照,于是他混迹于一架开往委内瑞拉的飞机.但是,这件事情太不周密了,因为FBI的间谍早已获悉他的具体位置--但这不是最重要的--最重要的是如果要去委内瑞拉 ...

  7. (水题)洛谷 - P1603 - 斯诺登的密码

    https://www.luogu.org/problemnew/show/P1603 有毒,大小写不检测,句号也不管. #include<bits/stdc++.h> using nam ...

  8. 去重的Set解不出“斯诺登的密码”(洛谷P1603题题解,Java语言描述)

    题目要求 P1603题目链接 分析 我们不如直接获取其平方数,这个就要基于HashMap啦,提前指定一下初始长度! 像10啊,20啊这种模完只剩00的,就不要了吧(他说是要最小的结果,开头0要去掉,那 ...

  9. 洛谷--橙色百道DP总结

    最近刷完了洛谷橙色DP大约一百道,算是发现了一些套路,就部分题目做一些总结. 大概分为三类 第一类,九大背包及其衍生 第二类,经典DP模型,如LCS,LIS等 第三类,实际问题背景的普通,环形,树上D ...

最新文章

  1. 波形的转换与信号处理
  2. 100亿数据1万属性数据架构设计
  3. 程序员读研如何提高技术之我见
  4. 2021-03-09 Matlab RBF神经网络及其实例
  5. Debug pycharm: Error running *.py, cannot run program, No such file or pragram
  6. python学习并发编程
  7. jQuery倒计时(仿团购)
  8. 无意中发现的MSDN软件下载网站
  9. R语言绘制双坐标轴的方法初探
  10. 7000条短信接口!福利赠送!
  11. linux chmod详解
  12. matlab 调速系统试验,实验三-双闭环直流调速系统MATLAB仿真.doc
  13. 获取MP4视频关键帧图像,并保存为JPEG格式文件
  14. Class org.datanucleus.api.jdo.JDOPersistenceManagerFactory was not found
  15. JSP房地产门户管理系统myeclipse开发mysql数据库BS模式java编程网页结构详细设计
  16. 股票期货化数据文档大全覆盖国内6大易的历史数据和实时行情
  17. 编程中的逻辑实现,三种逻辑结构(顺序、循环、分支)、跳转、函数以及错误处理
  18. 研发工程师面试题整理
  19. python 计算牛顿差商,计算并化简牛顿插值多项式
  20. MockMockito使用手册

热门文章

  1. 从起源到未来:能自己编程和改进的超人工智能会出现吗?
  2. 我30岁了。现在开始编程,会不会太晚?
  3. B站疯传!堪称最强!一整套架构实战资料,白拿不谢!
  4. 云计算监控—Prometheus监控系统(文末赠书)
  5. JAVA版本微信公众账号开源项目版本发布-jeewx1.0(捷微)
  6. 给侄子推荐的中学教辅资料清单
  7. Reveal.js:把你的 Markdown 文稿变成 PPT
  8. 【转】.so兼容32位和64位
  9. Spring4 MVC HelloWorld 注解和JavaConfig实例
  10. 计算一段代码执行完毕用时问题