第五届“图灵杯”NEUQ-ACM程序设计大赛 B题 字符串处理
来源:互联网 发布:域名证书 编辑:程序博客网 时间:2024/04/28 21:20
为了防止有人抄他的笔记,Half Blood Prince研制了一套密码笔记书写机制。他使用了一个函数转换他的笔记:对于a-z和A-Z这些拉丁字母,如果另a编号为0,b为1 ……依次类推,z为25。同样的A为0,B为1……Z为25。其实Half Blood Prince使用的是y=(kx+b)%26(%是取模运算符)的加密模式,也就是y是笔记上字符编号x对应的真实笔记的字符编号。那么举个栗子:假如这个密钥的加密模式是y=(x+1)%26,那么笔记中的“Bqtrg vhsg akcd.”应该表达的是“Crush with blade.”(注意除了大小写的字母外其他字符不用处理)。那么问题来了,为了让剧情发展下去,哈利波特告诉了你Half Blood Prince笔记的加密模式和参数k和b的值,你能设计一个解码程序,帮他还原学霸笔记,击败赫敏登上全班第一的宝座吗?
输入:
第一行两个整数k和b,均在一百以内,其中k>0,b>=0。第二行一个字符串(Length<=1000),代表Half Blood Prince的一条原始笔记。注意是多组输入。
输出:
这条笔记的真实版本,也就是根据转码规则得到的解码版本。
样例输入
1 1
Bqtrg vhsg akzcd.
样例输出
Crush with blade.
注:字符串处理很简单,但是复习了下各种输入输出对于空格的处理
可利用万能法 getchar()!=eof
#include<iostream>#include<cstdio>#include<cstring>using namespace std;int main(){ char a[10] = "abc d"; cin>>a;//不可以带空格 // gets(a);//可以带空格 //scanf("%s",a);//不可以带空格 printf("%d",strlen(a));// scanf("%s",a);// printf("%s",a);//可以输出带空格的字符串 puts(a);//可以带空格 return 0;}
#include<iostream>#include<cstdio>#include<cstring>using namespace std;int main(){ char a[1001]; int k,b; while(cin>>k>>b) { getchar();//读入k b 之后的回车 否则读不进去字符串 gets(a); //scanf("%s",a); //cin>>a;//%s格式读入字符串时,只有接收到\n时(假设字符数组空间不收限制的话) int i = 0; while(i<strlen(a)) { if(a[i]!=' '&&a[i]>='A'&&a[i]<='Z') a[i] =(k*(a[i]-'A')+b)%26 + 'A'; else if(a[i]!=' '&&a[i]>='a'&&a[i]<='z') a[i] =(k*(a[i]-'a')+b)%26 + 'a'; i++; } //cout<<a;//遇到空格就停止了 printf("%s",a); printf("\n"); } return 0;}
阅读全文
0 0
- 第五届“图灵杯”NEUQ-ACM程序设计大赛 B题 字符串处理
- 第五届“图灵杯”NEUQ-ACM程序设计大赛 F题 字符串处理哈夫曼树
- 第五届“图灵杯”NEUQ-ACM程序设计大赛 H题 深搜
- Contest1040 - 第三届“图灵杯”NEUQ-ACM程序设计大赛(个人赛) B: 田鼠买酒喝
- 第二届“图灵杯”NEUQ-ACM程序设计大赛(个人赛)
- 【第五届“图灵杯”NEUQ-ACM程序设计大赛】A C D【哈夫曼树】E【手写链表】 F G H【圆周排列生成】 I
- Contest1040 - 第三届“图灵杯”NEUQ-ACM程序设计大赛(个人赛) A: 编程世界的大门
- Contest1040 - 第三届“图灵杯”NEUQ-ACM程序设计大赛(个人赛) C: 橙子姐姐的围棋
- Contest1040 - 第三届“图灵杯”NEUQ-ACM程序设计大赛(个人赛) E: 好学的coco
- Contest1040 - 第三届“图灵杯”NEUQ-ACM程序设计大赛(个人赛) G: 田鼠看热闹(Ⅰ)
- 第四届“图灵杯”NEUQ-ACM程序设计竞赛(团队赛)-网络同步赛B(排序)
- Contest1040 - 第三届“图灵杯”NEUQ-ACM程序设计大赛(个人赛) H: 橙子姐姐的梦 基数排序
- 第四届“图灵杯”NEUQ-ACM程序设计竞赛总结 【8/10】
- 第四届“图灵杯”NEUQ-ACM程序设计竞赛部分题解
- 第四届“图灵杯”NEUQ-ACM 程序设计竞赛(团队赛)
- 哈理工 第五届程序设计大赛——B.沼跃鱼
- 第五届程序设计大赛B 最强DE 战斗力
- nyoj 541 第五届河南省程序设计大赛B
- EOJ Monthly 2017.12 (暨 ECNU 12 月内部选拔) C. 易位构词(贪心)
- CSS(二十八)
- JDBC初步--java连接SQL Server数据库(一)
- 第二章 数据库管理
- 【SpringBoot】2小时学会SpringBoot学习笔记(第1章- 第2章)
- 第五届“图灵杯”NEUQ-ACM程序设计大赛 B题 字符串处理
- PAT (Basic Level) Practise (中文) 1073. 多选题常见计分法(20)
- svm(libsvm)在文本分类中的应用
- EOJ Monthly 2017.12 (暨 ECNU 12 月内部选拔)B. 在哈尔滨的寒风中
- java实现冒泡排序和快速排序
- SpringMVC运行原理
- leetcode 448. Find All Numbers Disappeared in an Array
- uva10375(唯一分解定理) Choose and divide
- 12月8日 数据结构 周五