L1-039 古风排版 (20分)

题目

中国的古人写文字,是从右向左竖向排版的。本题就请你编写程序,把一段文字按古风排版。

输入格式:

输入在第一行给出一个正整数N(<100),是每一列的字符数。第二行给出一个长度不超过1000的非空字符串,以回车结束。

输出格式:

按古风格式排版给定的字符串,每列N个字符(除了最后一列可能不足N个)。

输入样例:

4
This is a test case

输出样例:

asa T
st ih
e tsice s

思路

坑点:

  1. 如果最后一列不足,不足的部分空格补齐;
  2. 如果字符串长度小于每一列的字符数,则不足的部分还是要用空格补齐;
  3. cin.getline()读入第二行的非空字符串的时候,最后一个样例点怎么都过不去,把这部分换成getchar莫名其妙就过了,这点真的很让人疑惑,,,希望有大佬能解答。

主要思路就是,第 i i i 行从右往左,是从 i i i 个字符开始每隔 n n n 个的字符,也就是第 i i i 行第 j j j 列的字符是原字符串第 i + j ∗ n i + j * n i+j∗n 个字符。如果 i + j ∗ n i + j * n i+j∗n 超过了原字符串的长度,用空格补齐。

代码

#include<bits/stdc++.h>
#define INF 0x3f3f3f3f
#define PI acos(-1)
using namespace std;
typedef pair<int, int> P;
typedef long long ll;
const int N = 3e5 + 19;
const ll mod = 1e9 + 7;char str[N];
char tmp[N];int main()
{int n;cin >> n;getchar();int m = 0;while((str[m] = getchar()) != '\n'){m++;}int cnt = 0;int k = m / n;if(m % n)k++;for(int i = 0; i < n; i++){int nn = i;while(nn < m){tmp[cnt++] = str[nn];nn += n;}for(int i = k - 1; i >= 0; i--){if(i >= cnt)cout << ' ';elsecout << tmp[i];}cout << endl;cnt = 0;}return 0;
}

L1-039 古风排版 (20分)相关推荐

  1. 7-130 古风排版 (20 分)

    7-130 古风排版 (20 分) 中国的古人写文字,是从右向左竖向排版的.本题就请你编写程序,把一段文字按古风排版. 输入格式: 输入在第一行给出一个正整数N(<100),是每一列的字符数.第 ...

  2. PTA 古风排版 (20 分)队列方法

    古风排版 (20 分) 中国的古人写文字,是从右向左竖向排版的.本题就请你编写程序,把一段文字按古风排版. 输入格式: 输入在第一行给出一个正整数N(<100),是每一列的字符数.第二行给出一个 ...

  3. PTA刷题记录:L1-039 古风排版 (20分)

    L1-039 古风排版 (20分) 题目描述: 中国的古人写文字,是从右向左竖向排版的.本题就请你编写程序,把一段文字按古风排版. 输入格式: 输入在第一行给出一个正整数N(<100),是每一列 ...

  4. l1-039 古风排版 20分 极简七行逻辑代码版

    7-6 古风排版 (20分) 中国的古人写文字,是从右向左竖向排版的.本题就请你编写程序,把一段文字按古风排版. 输入格式: 输入在第一行给出一个正整数N(<100),是每一列的字符数.第二行给 ...

  5. L1-039 古风排版 (20 分)python

    题目 L1-039 古风排版 (20 分) 中国的古人写文字,是从右向左竖向排版的.本题就请你编写程序,把一段文字按古风排版. 输入格式: 输入在第一行给出一个正整数N(<100),是每一列的字 ...

  6. pta 7-10 古风排版 (20 分)

    中国的古人写文字,是从右向左竖向排版的.本题就请你编写程序,把一段文字按古风排版. 输入格式: 输入在第一行给出一个正整数N(<100),是每一列的字符数.第二行给出一个长度不超过1000的非空 ...

  7. C语言:L1-039 古风排版 (20 分)

    文章目录 一.题目 二.方法1 1.思路 2.代码 一.题目 中国的古人写文字,是从右向左竖向排版的.本题就请你编写程序,把一段文字按古风排版. 输入格式: 输入在第一行给出一个正整数N(<10 ...

  8. 天梯赛 L1-039 古风排版 (20 分)

    注意如果矩阵元素为空(null,与空格区分),输出空格 #include <iostream> using namespace std; const int N = 1e3 + 10;ch ...

  9. PTA 古风排版 (20 分)含测试点

    #include <stdio.h> #include <string.h> int main() {int n;char s[10010] = {0},a[111][111] ...

最新文章

  1. 浙大读博八年现靠送外卖赚钱,本人:进组以来博士无一人按时毕业
  2. ext-4.2之grid的高级应用:增删改查!
  3. python 用户输入_Python 用户输入(input)
  4. 【遥感物候】1983-2012年时间序列中国地区GIMMS 3g NDVI下载(已进行旋转、格式转换、投影变换和裁剪)
  5. MXNet的Model API
  6. 开发指南专题三:JEECG微云快速开发平台项目编码规范
  7. 天联高级版客户端_壹拓网科技关于金万维天联标准版、异速联和天联高级版区别的讲解...
  8. android支付平台,android移动支付
  9. mysql查询mapper.xml_mapper.xml中的mysql查询问题
  10. JavaScript高级使用(一)--参数Arguments对象
  11. 4创建ui显示不出来_4道小学生经典推理题,家长们一道也做不出来,太烧脑了...
  12. 一年工作经验的java面试题
  13. JUC与JVM并发编程学习笔记02
  14. sma文件服务器,Linux下的文件共享全攻略系列之一:Samba服务器简介与快速配置指南...
  15. TI电量计--基本介绍及常见问题解答
  16. iOS苹果开发者账号(公司账号)申请流程详解
  17. 深信服 星耀前端一面面经+二面凉了
  18. 关于安装jdk后为什么要配置环境变量的那些事
  19. 制作微信H5互动小游戏如何确认主题?
  20. Leetcode-标签为Tree 226. Invert Binary Tree

热门文章

  1. C语言|博客作业05
  2. 安卓使用usb连接外设
  3. 驱动——LED灯循环闪烁
  4. AVFoundation学习记录
  5. python中图片绘制和输出相关库的原理详解
  6. ENFI下载器:1元20G高速下载流量,首次使用送3G
  7. 第一章: HTML、CSS、JavaScript入门篇
  8. ARM裸机-13.LCD
  9. Java数字转中文大写,数字转英文
  10. 【流体机械原理及设计00】