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:反反复复相关推荐

  1. ACM: 百练NOI——基本算法之动态规划

    文章目录 Maximum sum(求两个不重叠子区间最大和) Post Office(感觉题解有问题) 最长上升子序列 最大子矩阵 采药(0-1背包) 最长公共子序列 吃糖果 登山 最长公共上升子序列 ...

  2. 百练noi 22:神奇的幻方

    22:神奇的幻方 查看 提交 统计 提问 总时间限制:  1000ms  内存限制:  65535kB 描述 幻方是一个很神奇的N*N矩阵,它的每行.每列与对角线,加起来的数字和都是相同的. 我们可以 ...

  3. OpenJudge NOI 1.8 20:反反复复

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

  4. 百练OJ:2973:Skew数

    题目链接: 百练OJ:2973:Skew数 描述:在 skew binary表示中, 第 k 位的值xk表示xk*(2k+1-1). 每个位上的可能数字是0 或 1,最后面一个非零位可以是2, 例如, ...

  5. 百练 05 切割回文

    百练 05 切割回文 总时间限制: 内存限制: 1000ms 65536kB 描述 阿福最近对回文串产生了非常浓厚的兴趣. 如果一个字符串从左往右看和从右往左看完全相同的话,那么就认为这个串是一个回文 ...

  6. 58 - 算法 - 百练 2503:Babelfish 二分查找与存储

    #define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <cstdio> #include <cmath ...

  7. 程序设计入门经典题解(百练篇)

    参考链接:PKU百练题解(Bailian) Bailian1017 装箱问题[贪心] - 海岛Blog - CSDN博客 POJ1088 Bailian1088 滑雪[DFS+记忆化搜索]_海岛Blo ...

  8. 【百练】护林员盖房子

    护林员盖房子 百练 2019信科研究生上机测试 A 总时间限制: 1000ms 内存限制: 65536kB 描述 在一片保护林中,护林员想要盖一座房子来居住,但他不能砍伐任何树木.  现在请你帮他计算 ...

  9. 北大培训课动态规划----神奇的口袋(百练2755)

    北京大学暑期课<ACM/ICPC竞赛训练> ppt摘取 什么是动态规划? ●递归到动规的一般转化方法  递归函数有n个参数,就定义一个n维的数组,数组 的下标是递归函数参数的取值范围,数组 ...

最新文章

  1. android学习第一天
  2. VC中退出应用程序-几种很有用的方法
  3. IDEA 集成Lombok 插件-配置注解处理器
  4. 华为将升级鸿蒙,华为将弃用安卓?Mate40将成为首款可升级鸿蒙OS的手机
  5. axure 内部框架内容下滑_Axure教程:转盘抽奖交互原型
  6. session实现购物系统的简例和application实现统计页面访问次数的简例
  7. jquery.form.js实现将form提交转为ajax方式提交的使用方法
  8. jQuery入门基础
  9. 如何使用Python进行投资收益和风险分析
  10. 一张图带你解读--如何从零开始学习接口自动化
  11. 心电图心电轴怎么计算_心电图QRS电轴角度简易直读法
  12. java p2p开发项目实战(完整)
  13. C++使用TinyXml2解析Xml
  14. 网约车新政陆续出台,共享经济遇阻为哪般?
  15. 充电宝推荐评测,2022年值得买的充电宝盘点
  16. 统计图应用实例讲解之箱形图应用分析
  17. Qt 通过http获取数据
  18. SDL Trados 2021 安装和体验 (安装)
  19. 很好的学习资料-详细介绍SVM-来自matlab论坛-【关于SVM的那点破事】.mht
  20. axb-2019-fmt64

热门文章

  1. 功率放大电路和电压放大电路的区别是什么意思
  2. Isight软件调用matlab
  3. 对于position定位的认识
  4. 足球大数据分析大小球胜平负的技巧与实例附分析软件
  5. 使用Python将TXT文本内容读取后生成指定XML格式的文件
  6. NTC电阻抑制冷机启动浪涌电流
  7. 互联网大会8月13日召开 苏宁华为首次加盟
  8. IMSI 和 IMEI
  9. random()随机数的产生方式与原理
  10. Linux下载hfs文件,linux读写mac HFS+