【OpenJudge】反反复复
描述
Mo和Larry发明了一种信息加密方法。他们首先决定好列数,然后将信息(只包含字母)从上往下依次填入各列,并在末尾补充一些随机字母使其成为一个完整的字母矩阵。例如,若信息是“There’s no place like home on a snowy night”并且有5列,Mo会写成:
t o i o y
h p k n n
e l e a i
r a h s g
e c o n h
s e m o t
n l e w x
注意Mo只会填入字母,且全部是小写形式。在这个例子中,Mo用字母“x”填充了信息使之成为一个完整的矩阵,当然他使用任何字母都是可以的。
Mo根据这个矩阵重写信息:首先从左到右写下第一行,然后从右到左写下第二行,再从左到右写下第三行……以此左右交替地从上到下写下各行字母,形成新的字符串。这样,例子中的信息就被加密为:toioynnkpheleaigshareconhtomesnlewx。
你的工作是帮助Larry从加密后的信息中还原出原始信息(包括填充的字母)。
输入
第一行包含一个整数(范围2到20),表示使用的列数。
第二行是一个长度不超过200的字符串。
输出
一行,即原始信息。
样例输入
5
toioynnkpheleaigshareconhtomesnlewx
样例输出
theresnoplacelikehomeonasnowynightx
#include<stdio.h>
#include<string.h>
char sz[300],a[30][30],b[30][30];
int main(){int n,i,j,mm,m,k=0;scanf("%d",&n);scanf("%s",sz);mm=strlen(sz);m=mm/n;for(i=0;i<m;i++){for(j=0;j<n;j++){a[i][j]=sz[k++];}}for(i=0;i<m;i++){if(i%2==0){for(j=0;j<n;j++){b[i][j]=a[i][j];}}if(i%2!=0){for(j=0;j<n;j++){b[i][j]=a[i][n-j-1];}}}for(j=0;j<n;j++){for(i=0;i<m;i++){printf("%c",b[i][j]);}}
}
NOI(OJ)编程基础篇目录
【OpenJudge】反反复复相关推荐
- OpenJudge NOI 1.8 20:反反复复
[题目链接] OpenJudge NOI 1.8 20:反反复复 [题目考点] 1. 二维数组 [解题思路] 将字符串中字符按照题目要求,一行从左向右,一行从右向左,填入二维数组中.再按列遍历二维数组 ...
- openjudge 1.8.20 反反复复
OpenJudge - 20:反反复复 解题思路: 1.由题可得,将一个加密的字符串还原后输出,那么首先看他的加密方式是怎样的,给定一个字符串,并且给定了列号,那么我们获取到字符串的长度就可以求出二维 ...
- 【OpenJudge NOI】题解目录
[OpenJudge NOI]题解目录 OJ链接:OpenJudge NOI 以下为本人做的OJ题解 针对每一道题我都会给出题目考点.解题思路.题解代码.必要时也会给出不同的解题方法. 如有不足之处, ...
- OpenJudge/Poj 2001 Shortest Prefixes
1.链接地址: http://bailian.openjudge.cn/practice/2001 http://poj.org/problem?id=2001 2.题目: Shortest Pref ...
- OpenJudge/Poj 2027 No Brainer
1.链接地址: http://bailian.openjudge.cn/practice/2027 http://poj.org/problem?id=2027 2.题目: 总Time Limit: ...
- [OpenJudge] 百练2754 八皇后
八皇后 Description 会下国际象棋的人都很清楚:皇后可以在横.竖.斜线上不限步数地吃掉其他棋子.如何将8个皇后放在棋盘上(有8 * 8个方格),使它们谁也不能被吃掉!这就是著名的八皇后问题. ...
- OpenJudge 2739 计算对数
1.链接地址: http://bailian.openjudge.cn/practice/2739/ 2.题目: 总时间限制: 1000ms 内存限制: 65536kB 描述 给定两个正整数a和b.可 ...
- OpenJudge 2757 最长上升子序列 / Poj 2533 Longest Ordered Subsequence
1.链接地址: http://poj.org/problem?id=2533 http://bailian.openjudge.cn/practice/2757 2.题目: 总Time Limit: ...
- OpenJudge/Poj 1163 The Triangle
1.链接地址: http://bailian.openjudge.cn/practice/1163 http://poj.org/problem?id=1163 2.题目: 总时间限制: 1000ms ...
最新文章
- EXP6 信息搜集与漏洞扫描
- 解决Caused by: java.lang.NoSuchMethodException: com.mchange.v2.c3p0.cfg.C3P0Config.init()的总结...
- linux shell expect 处理 passwd 交互
- KnowledgeTree简体中文汉化包安装指导
- 传智播客python笔记_python传智播客笔记--第十天:隐藏属性,私有属性,私有方法,__del__方法,类的继承,类中方法的重写...
- python中的生产者与消费者模式
- 从源码分析 Spring 基于注解的事务
- LeetCode刷题(5)
- 打开计算机管理提示找不到文件,Win8系统打开计算机管理提示找不到文件怎么解决...
- oracle更新最新一条记录,update同时更新多条记录
- 机器人潘森护盾_新版潘森无伤抗塔 E技能护盾机制全解析
- 怎样提高数据库查询效率
- 基于微信校园跑腿小程序毕业设计设计与实现毕设参考
- 百度网盘Linux版本能用吗,百度网盘Linux版使用体验效果
- 利用Python生成双月分类数据集
- 微信公众平台模拟登陆和发送消息详解
- 五方面详细解析《商业银行互联网贷款管理暂行办法》
- ps意外崩溃_最新—Mac软件意外退出/移到废纸篓的解决方案,亲测有效
- 卫星位置计算小程序(C#版)
- raise TypeError(f‘Object of type {o.__class__.__name__} ‘ TypeError: Object of type bytes is not