首页 > 代码库 > [ CodeVS冲杯之路 ] P1197
[ CodeVS冲杯之路 ] P1197
不充钱,你怎么AC?
题目:http://codevs.cn/problem/1197/
密钥的字母可以全转换为小写字母,然后一一映射,a→0,b→1,c→2,依此类推
对于密文只需将每一位减去对应密钥的映射,如果小于 a 或 A 则再将它加上 26 即可
1 #include<cstdio> 2 #include<cstdlib> 3 #include<cstring> 4 #include<cmath> 5 #include<iostream> 6 #include<algorithm> 7 using namespace std; 8 9 int a[101];10 int main()11 {12 int m=-1,i=0;13 bool f;14 char ch=getchar();15 while (ch!=‘\n‘)16 {17 if (ch<‘a‘) ch+=32;18 a[++m]=ch-‘a‘;19 ch=getchar();20 }21 ch=getchar();22 while (ch!=‘\n‘)23 {24 f=ch>‘Z‘;25 ch-=a[i++];26 if (i>m) i=0;27 if ((f&&ch<‘a‘)||((!f)&&ch<‘A‘)) ch+=26;28 putchar(ch);29 ch=getchar();30 }31 return 0;32 }
[ CodeVS冲杯之路 ] P1197
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。