描述
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】反反复复相关推荐

  1. OpenJudge NOI 1.8 20:反反复复

    [题目链接] OpenJudge NOI 1.8 20:反反复复 [题目考点] 1. 二维数组 [解题思路] 将字符串中字符按照题目要求,一行从左向右,一行从右向左,填入二维数组中.再按列遍历二维数组 ...

  2. openjudge 1.8.20 反反复复

    OpenJudge - 20:反反复复 解题思路: 1.由题可得,将一个加密的字符串还原后输出,那么首先看他的加密方式是怎样的,给定一个字符串,并且给定了列号,那么我们获取到字符串的长度就可以求出二维 ...

  3. 【OpenJudge NOI】题解目录

    [OpenJudge NOI]题解目录 OJ链接:OpenJudge NOI 以下为本人做的OJ题解 针对每一道题我都会给出题目考点.解题思路.题解代码.必要时也会给出不同的解题方法. 如有不足之处, ...

  4. OpenJudge/Poj 2001 Shortest Prefixes

    1.链接地址: http://bailian.openjudge.cn/practice/2001 http://poj.org/problem?id=2001 2.题目: Shortest Pref ...

  5. OpenJudge/Poj 2027 No Brainer

    1.链接地址: http://bailian.openjudge.cn/practice/2027 http://poj.org/problem?id=2027 2.题目: 总Time Limit: ...

  6. [OpenJudge] 百练2754 八皇后

    八皇后 Description 会下国际象棋的人都很清楚:皇后可以在横.竖.斜线上不限步数地吃掉其他棋子.如何将8个皇后放在棋盘上(有8 * 8个方格),使它们谁也不能被吃掉!这就是著名的八皇后问题. ...

  7. OpenJudge 2739 计算对数

    1.链接地址: http://bailian.openjudge.cn/practice/2739/ 2.题目: 总时间限制: 1000ms 内存限制: 65536kB 描述 给定两个正整数a和b.可 ...

  8. OpenJudge 2757 最长上升子序列 / Poj 2533 Longest Ordered Subsequence

    1.链接地址: http://poj.org/problem?id=2533 http://bailian.openjudge.cn/practice/2757 2.题目: 总Time Limit: ...

  9. OpenJudge/Poj 1163 The Triangle

    1.链接地址: http://bailian.openjudge.cn/practice/1163 http://poj.org/problem?id=1163 2.题目: 总时间限制: 1000ms ...

最新文章

  1. EXP6 信息搜集与漏洞扫描
  2. 解决Caused by: java.lang.NoSuchMethodException: com.mchange.v2.c3p0.cfg.C3P0Config.init()的总结...
  3. linux shell expect 处理 passwd 交互
  4. KnowledgeTree简体中文汉化包安装指导
  5. 传智播客python笔记_python传智播客笔记--第十天:隐藏属性,私有属性,私有方法,__del__方法,类的继承,类中方法的重写...
  6. python中的生产者与消费者模式
  7. 从源码分析 Spring 基于注解的事务
  8. LeetCode刷题(5)
  9. 打开计算机管理提示找不到文件,Win8系统打开计算机管理提示找不到文件怎么解决...
  10. oracle更新最新一条记录,update同时更新多条记录
  11. 机器人潘森护盾_新版潘森无伤抗塔 E技能护盾机制全解析
  12. 怎样提高数据库查询效率
  13. 基于微信校园跑腿小程序毕业设计设计与实现毕设参考
  14. 百度网盘Linux版本能用吗,百度网盘Linux版使用体验效果
  15. 利用Python生成双月分类数据集
  16. 微信公众平台模拟登陆和发送消息详解
  17. 五方面详细解析《商业银行互联网贷款管理暂行办法》
  18. ps意外崩溃_最新—Mac软件意外退出/移到废纸篓的解决方案,亲测有效
  19. 卫星位置计算小程序(C#版)
  20. raise TypeError(f‘Object of type {o.__class__.__name__} ‘ TypeError: Object of type bytes is not

热门文章

  1. 1.4 Git基本操作之删除文件找回及文件比较
  2. 【c】分数类型的定义 c语言分数类型加减乘除的实现
  3. 回顾 2022 年 — 回顾 Elastic 这一年
  4. 利用python request细雨筹爬虫
  5. PHP 连接sql server
  6. 【STM32+cubemx】0026 HAL库开发:NRF24L01无线2.4G通信模块的应用
  7. 基于Android NFC传感器读取身份证信息demo
  8. 汽轮机胀差及轴向位移(转载的)
  9. 机械学习:二维空间下支持向量机SVM基础学习
  10. qq分享提示设备未授权_友盟微信、QQ等分享提示未验证应用配置