百练noi 20:反反复复
20:反反复复
- 查看
- 提交
- 统计
- 提问
- 总时间限制:
- 1000ms
- 内存限制:
- 65536kB
- 描述
-
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
- 来源
- East Central North America 2004
- 查看
- 提交
- 统计
- 提问
- 代码:
#include<iostream> #include<string> #include<cctype> #include<algorithm> using namespace std; int m; string str; int main(){cin>>m;cin>>str;int len = str.length();int row = len / m;for(int i = m; i < len; i += 2 * m){reverse(str.begin() + i, str.begin() + i + m);}for(int i = 0; i < m; ++i){for(int j = i; j < len; j += m){putchar(tolower(str[j]));}}cout<<endl;return 0; }
百练noi 20:反反复复相关推荐
- ACM: 百练NOI——基本算法之动态规划
文章目录 Maximum sum(求两个不重叠子区间最大和) Post Office(感觉题解有问题) 最长上升子序列 最大子矩阵 采药(0-1背包) 最长公共子序列 吃糖果 登山 最长公共上升子序列 ...
- 百练noi 22:神奇的幻方
22:神奇的幻方 查看 提交 统计 提问 总时间限制: 1000ms 内存限制: 65535kB 描述 幻方是一个很神奇的N*N矩阵,它的每行.每列与对角线,加起来的数字和都是相同的. 我们可以 ...
- OpenJudge NOI 1.8 20:反反复复
[题目链接] OpenJudge NOI 1.8 20:反反复复 [题目考点] 1. 二维数组 [解题思路] 将字符串中字符按照题目要求,一行从左向右,一行从右向左,填入二维数组中.再按列遍历二维数组 ...
- 百练OJ:2973:Skew数
题目链接: 百练OJ:2973:Skew数 描述:在 skew binary表示中, 第 k 位的值xk表示xk*(2k+1-1). 每个位上的可能数字是0 或 1,最后面一个非零位可以是2, 例如, ...
- 百练 05 切割回文
百练 05 切割回文 总时间限制: 内存限制: 1000ms 65536kB 描述 阿福最近对回文串产生了非常浓厚的兴趣. 如果一个字符串从左往右看和从右往左看完全相同的话,那么就认为这个串是一个回文 ...
- 58 - 算法 - 百练 2503:Babelfish 二分查找与存储
#define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <cstdio> #include <cmath ...
- 程序设计入门经典题解(百练篇)
参考链接:PKU百练题解(Bailian) Bailian1017 装箱问题[贪心] - 海岛Blog - CSDN博客 POJ1088 Bailian1088 滑雪[DFS+记忆化搜索]_海岛Blo ...
- 【百练】护林员盖房子
护林员盖房子 百练 2019信科研究生上机测试 A 总时间限制: 1000ms 内存限制: 65536kB 描述 在一片保护林中,护林员想要盖一座房子来居住,但他不能砍伐任何树木. 现在请你帮他计算 ...
- 北大培训课动态规划----神奇的口袋(百练2755)
北京大学暑期课<ACM/ICPC竞赛训练> ppt摘取 什么是动态规划? ●递归到动规的一般转化方法 递归函数有n个参数,就定义一个n维的数组,数组 的下标是递归函数参数的取值范围,数组 ...
最新文章
- android学习第一天
- VC中退出应用程序-几种很有用的方法
- IDEA 集成Lombok 插件-配置注解处理器
- 华为将升级鸿蒙,华为将弃用安卓?Mate40将成为首款可升级鸿蒙OS的手机
- axure 内部框架内容下滑_Axure教程:转盘抽奖交互原型
- session实现购物系统的简例和application实现统计页面访问次数的简例
- jquery.form.js实现将form提交转为ajax方式提交的使用方法
- jQuery入门基础
- 如何使用Python进行投资收益和风险分析
- 一张图带你解读--如何从零开始学习接口自动化
- 心电图心电轴怎么计算_心电图QRS电轴角度简易直读法
- java p2p开发项目实战(完整)
- C++使用TinyXml2解析Xml
- 网约车新政陆续出台,共享经济遇阻为哪般?
- 充电宝推荐评测,2022年值得买的充电宝盘点
- 统计图应用实例讲解之箱形图应用分析
- Qt 通过http获取数据
- SDL Trados 2021 安装和体验 (安装)
- 很好的学习资料-详细介绍SVM-来自matlab论坛-【关于SVM的那点破事】.mht
- axb-2019-fmt64