第6章 字符串与文件操作

文章目录

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

L P1603 斯诺登的密码

P1603 斯诺登的密码 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

何为斯诺登事件?

爱德华·斯诺登_百度百科 (baidu.com)

简介:斯诺登事件一般指棱镜门。 棱镜计划(PRISM)是一项由美国国家安全局(NSA)自2007年小布什时期起开始实施的绝密电子监听计划,该计划的正式名号为“US-984XN”。

理解题意

1.输入

输入字符串一列在题中统一为1正规: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。正规单词意义为1-20,在题中也为其1-20,非正规为冠词a(一),both(both_百度百科 (baidu.com),两个(都);双方(都)),another(一类),其余为1,2,3的序数词,在题中统一为1

2.运算排列

取这些数的的平方mod100(%100)

3.排列

将这些数排列,输出其中最小

因此,可得代码

代码


#include<bits/stdc++.h>
using namespace std;
string f;int a[200],b,l=1;
int main ( )
{ios::sync_with_stdio(false);while (cin>>f){if (f=="one"||f=="a"||f=="both"||f=="another"||f=="first"||f=="second"||f=="third"){b++;a[b]=1;}//1,判1的情况,1*1%100=1else if (f=="two"){b++;a[b]=4;}//2,判2,2*2%100=4else if (f=="three"){b++;a[b]=9;}//判3,3*3%100=9else if (f=="four"){b++;a[b]=16;}//判4,4*4%100=16else if (f=="five"){b++;a[b]=25;}//判5,5*5%100=25else if (f=="six"){b++;a[b]=36;}//判6,6*6%100=36else if (f=="seven"){b++;a[b]=49;}//判7,7*7%100=49else if (f=="eight"){b++;a[b]=64;}//判8,8*8%100=64else if (f=="nine"){b++;a[b]=81;}//判9,9*9%100=81else if (f=="ten"){b++;a[b]=0;}//判10,10*10%100=0else if (f=="eleven"){b++;a[b]=21;}//判11,11*11%100=21else if (f=="twelve"){b++;a[b]=44;}//判12,12*12%100=44else if (f=="thirteen"){b++;a[b]=69;}//判13,13*13%100=69else if (f=="fourteen"){b++;a[b]=25;}//判14,14*14%100=25else if (f=="fifteen"){b++;a[b]=56;}//判15,15*15%100=56else if (f=="sixteen"){b++;a[b]=89;}//判16,16*16%100=89else if (f=="seventeen"){b++;a[b]=17;}//判17,17*17%100=17else if (f=="eighteen"){b++;a[b]=24;}//判18,18*18%100=24else if (f=="nineteen"){b++;a[b]=61;}//判19,19*19%100=61else if (f=="twenty"){b++;a[b]=0;}//判20,20*20%100=0}//对于这个while循环,其作用是完成1.输入的部分。看似繁琐复杂,难以敲出,其实只要打出1和2,就可以以2为摸版,Ctrl+v复制粘贴。sort(a+1,a+b+1);//3,排序,此排序非彼排序,并不是3,仅仅只是排序结果,因为小的放最前面,整体就越小。此次在解释中阐释。while (a[l]==0&&l<b)l++;//首位去0,;cout<<a[l];/*第一位不需要补0*/for (int i=l+1;i<=b;i++)printf ("%02d",a[i]);//输出
}

解释

一个三位数数,可以看成100a+10b+c,a越大,值越大;a越小,值越小。当三数为9,5,0时,让0为首,变为二位数,而不为0则为三位数,三位数永远大于二位数,此定理适用于

N P1597 语句解析

P1597 语句解析 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

理解题意

1.输入

一个n:=abc或n:=m的形式,其中abc为常数,n,m为字母,分别表示将n赋值为abs或将n赋值为m的值。

2.思路

此题,只关系‘=’即可。‘=’前2位为n,后1位为abc或m。区分两者即可。

因此,可得代码

代码

#include<bits/stdc++.h>
using namespace std;
int a[3],e,n=1;char d;string f;
int main ( )
{ios::sync_with_stdio(false);cin>>f;for (int i=0;i<f.size();i++)//a[i]为第i+1个字母的值。(三个字母分别为a,b,c){if (f[i]=='=')//找‘=’。{if (f[i+1]>='0'&&f[i+1]<='9')//若‘=’后为数字{while (f[i+n]>='0'&&f[i+n]<='9'){e=e*10+f[i+n]-'0';n++;}//求出此数a[f[i-2]-'a']=e;e=0;n=1;//赋值}else a[f[i-2]-'a']=a[f[i+1]-'a'];//若‘=’后为字母,赋值}}cout<<a[0]<<" "<<a[1]<<" "<<a[2];//输出return 0;
}

洛谷P1603,P1597相关推荐

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

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

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

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

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

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

  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 斯诺登的密码

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

  8. 洛谷 - 试炼场(全部题目备份)

    整理的算法模板合集: ACM模板 目录 1.新手村 1 - 1 洛谷的第一个任务 1 - 2 顺序与分支 1 - 3 循环!循环!循环! 1 - 4 数组 1 - 5 简单字符串 1 - 6 过程函数 ...

  9. 洛谷-题解 P2672 【推销员】

    独门思路!链表加优先队列! 这题一望,贪心是跑不掉了,但是我贪心并不好,所以想到了一个复杂一些但思路更保稳的做法 思路: 1 因为是离线操作,所以我们可以倒着求,先求x=n的情况,因为那样直接就知道了 ...

最新文章

  1. 查看服务器配置信息prtdiag与systeminfo实用命令
  2. spring boot的热加载(hotswap)
  3. 【网络】TCP基础总结
  4. Kali Linux安装谷歌输入法
  5. aes sample java,python-AES加密java解密
  6. java venus_来认识一下venus-init——一个让你仅需一个命令开始Java开发的命令行工具...
  7. textrank4zh是_GitHub - renxiaowei941015/TextRank4ZH: 从中文文本中自动提取关键词和摘要...
  8. Jenkins怎么安装、使用Jenkins构建、部署spring boot项目
  9. KTV歌曲推荐-深入浅出协同过滤
  10. 奇异递归模板模式(Curiously Recurring Template Pattern,CRTP)
  11. python 类初始化参数校验_如何规避python参数的初始化次数?
  12. 限制用户擅自更改ip的方法
  13. stm32f103r8t6的晶振频率_STM32F103R8T6[1]
  14. word外部表不是预期的格式_邮件合并为什么会出现外部表不是预期格式
  15. JavaScript模式:字面量和构造函数
  16. 聊聊校招内推,意义/优缺点/如何抓住机会等
  17. SSE学习-一个小栗子
  18. [SDOI2009]虔诚的墓主人
  19. STM32F4-DMA及相关配置
  20. 高德地图android 缓存,高德地图定位不刷新,感觉有缓存

热门文章

  1. BUUCTF RE WP31-32 [WUSTCTF2020]level1、[GWCTF 2019]xxor
  2. ARM M3小计(一)1~3章。
  3. 明星之间的尴尬同框,最萌身高差,最后一个笑喷
  4. 怎样在表格中选出同一类_如何让excel表格中的几列数据相同的名称数据排列
  5. WebGL简易教程(五):图形变换(模型、视图、投影变换)
  6. Python脚本25:将两张图片拼在一起
  7. 用AI取代SGD?无需训练ResNet-50,AI秒级预测全部2400万个参数,准确率60% | NeurIPS 2021...
  8. 基于matlab的脑瘤mr图像处理_MRI(脑肿瘤)图像处理与分割、颅骨切除
  9. python pip在哪个文件夹运行_如何安装python与pip-百度经验
  10. 小米拒绝权限_小米应用商城:我下载的是快图,打开却是天天相册,还发扣费短信...