BNUOJ 1015 信息战(一)加密程序
来源:互联网 发布:阿里云主机干什么的 编辑:程序博客网 时间:2024/05/21 10:04
在战争时期,各个国家都要保证军队的行动保密性,所以在信息传达时会采取各种加密方法。有一天,A国安全局成员Oo(也就是传说中的ZSL),发明了一种对指令的加密方法。具体操作如下,取两个正整数X、Y,对于一段明文字符串,将其按行填入一个X行Y列的矩阵中(非字母不填、而且所有字母要求权转换为大写),若未填满,则按字母表顺序顺次填充(’A’…’Z’循环填充)。比如对于X=3,Y=3,明文为”Problem”时,矩阵填充后的结果为:
PRO
BLE
MAB
PRO
BLE
MAB
这样,Oo就得到了一个矩阵,将他按列输出就得到了Oo所要的的密文“PBMRLAOEB”。由于A国编程人员奇缺。所以Oo向你求助,希望你能够帮助他写一个加密程序,从而使得对于任意给定的X、Y以及明文,程序都能输出正确的密文。
Input
第一行X,Y(0 < X <= 200,0 < Y <= 200)。
第二行至末尾每行均为一个明文(保证明文中字母的个数N <= X*Y)。
第二行至末尾每行均为一个明文(保证明文中字母的个数N <= X*Y)。
Output
对于每一行明文输出对应的一行密文。
Sample Input
3 3Problemt e s t l I 156-*/- S tu 45/-90 N I v \908() 8768 *er #!@$& S a L
Sample Output
PBMRLAOEBTTCEADSBELTCIADSBEUVSNEAIRL
c语言程序:
#include<stdio.h>#include<ctype.h>#include<string.h>int main(){int x=0,y=0;char matrix[200][200]={0};char data[200000]={0};scanf("%d%d",&x,&y);getchar();while(gets(data)){int len=strlen(data);int t=0;int c=0;for(int i=0;i<len;i++){if(isalpha(data[i])){matrix[t/y][t%y]=toupper(data[i]);t++;}}while(t<x*y){matrix[t/y][t%y]='A'+(c++)%26;t++;}for(int p=0;p<y;p++)for(int q=0;q<x;q++)printf("%c",matrix[q][p]);printf("\n");}return 0;}
0 0
- BNUOJ 1015 信息战(一)加密程序
- BNUOJ 1015 信息战(一)——加密程序
- 信息战(一)——加密程序
- 信息战(一)——加密程序
- BNUOJ 1020 信息战(六)——军队体检 (STL之优先队列)
- 【BNUOJ】 信息战(四)——战场演练(树状数组,查询第k大值)
- Homework (BNUOJ 5134)
- 信息战(九)——水淹七军(BFS)
- BOJ 1020 信息战(六)——军队体检
- 信息战(九)——水淹七军
- 信息战(九)——水淹七军
- BNUOJ 34990 北京邀请赛最后一题
- 一次一密文件加密程序
- Base64加密---加密学习笔记(一)
- 用密钥池实现一次一密文件加密(附试验程序)
- 最简单的一小段文件加密程序(c语言)
- Wolf从零学编程-用Python打造简单加密程序(一)
- Wolf从零学编程-用Python打造简单加密程序(一)
- Rails4 使用postgreSQL做数据库
- 第九周 项目四 我的向量类
- 字符串相似度算法
- Spring Boot初级教程
- 第十二周阅读程序(4):多重继承
- BNUOJ 1015 信息战(一)加密程序
- 图着色问题 配色方案 C++实现 回溯法
- iOS学习笔记三
- 学习C++推荐书籍
- 第十四章 重载运算与类型转换
- Leetcode 35 Search Insert Position
- WinCE中断结构分析
- Matlab---GUI编程1
- 劝学