L1-039 古风排版 (20分)
L1-039 古风排版 (20分)
题目
中国的古人写文字,是从右向左竖向排版的。本题就请你编写程序,把一段文字按古风排版。
输入格式:
输入在第一行给出一个正整数N(<100),是每一列的字符数。第二行给出一个长度不超过1000的非空字符串,以回车结束。
输出格式:
按古风格式排版给定的字符串,每列N个字符(除了最后一列可能不足N个)。
输入样例:
4
This is a test case
输出样例:
asa T
st ih
e tsice s
思路
坑点:
- 如果最后一列不足,不足的部分空格补齐;
- 如果字符串长度小于每一列的字符数,则不足的部分还是要用空格补齐;
- 用
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分)相关推荐
- 7-130 古风排版 (20 分)
7-130 古风排版 (20 分) 中国的古人写文字,是从右向左竖向排版的.本题就请你编写程序,把一段文字按古风排版. 输入格式: 输入在第一行给出一个正整数N(<100),是每一列的字符数.第 ...
- PTA 古风排版 (20 分)队列方法
古风排版 (20 分) 中国的古人写文字,是从右向左竖向排版的.本题就请你编写程序,把一段文字按古风排版. 输入格式: 输入在第一行给出一个正整数N(<100),是每一列的字符数.第二行给出一个 ...
- PTA刷题记录:L1-039 古风排版 (20分)
L1-039 古风排版 (20分) 题目描述: 中国的古人写文字,是从右向左竖向排版的.本题就请你编写程序,把一段文字按古风排版. 输入格式: 输入在第一行给出一个正整数N(<100),是每一列 ...
- l1-039 古风排版 20分 极简七行逻辑代码版
7-6 古风排版 (20分) 中国的古人写文字,是从右向左竖向排版的.本题就请你编写程序,把一段文字按古风排版. 输入格式: 输入在第一行给出一个正整数N(<100),是每一列的字符数.第二行给 ...
- L1-039 古风排版 (20 分)python
题目 L1-039 古风排版 (20 分) 中国的古人写文字,是从右向左竖向排版的.本题就请你编写程序,把一段文字按古风排版. 输入格式: 输入在第一行给出一个正整数N(<100),是每一列的字 ...
- pta 7-10 古风排版 (20 分)
中国的古人写文字,是从右向左竖向排版的.本题就请你编写程序,把一段文字按古风排版. 输入格式: 输入在第一行给出一个正整数N(<100),是每一列的字符数.第二行给出一个长度不超过1000的非空 ...
- C语言:L1-039 古风排版 (20 分)
文章目录 一.题目 二.方法1 1.思路 2.代码 一.题目 中国的古人写文字,是从右向左竖向排版的.本题就请你编写程序,把一段文字按古风排版. 输入格式: 输入在第一行给出一个正整数N(<10 ...
- 天梯赛 L1-039 古风排版 (20 分)
注意如果矩阵元素为空(null,与空格区分),输出空格 #include <iostream> using namespace std; const int N = 1e3 + 10;ch ...
- PTA 古风排版 (20 分)含测试点
#include <stdio.h> #include <string.h> int main() {int n;char s[10010] = {0},a[111][111] ...
最新文章
- 浙大读博八年现靠送外卖赚钱,本人:进组以来博士无一人按时毕业
- ext-4.2之grid的高级应用:增删改查!
- python 用户输入_Python 用户输入(input)
- 【遥感物候】1983-2012年时间序列中国地区GIMMS 3g NDVI下载(已进行旋转、格式转换、投影变换和裁剪)
- MXNet的Model API
- 开发指南专题三:JEECG微云快速开发平台项目编码规范
- 天联高级版客户端_壹拓网科技关于金万维天联标准版、异速联和天联高级版区别的讲解...
- android支付平台,android移动支付
- mysql查询mapper.xml_mapper.xml中的mysql查询问题
- JavaScript高级使用(一)--参数Arguments对象
- 4创建ui显示不出来_4道小学生经典推理题,家长们一道也做不出来,太烧脑了...
- 一年工作经验的java面试题
- JUC与JVM并发编程学习笔记02
- sma文件服务器,Linux下的文件共享全攻略系列之一:Samba服务器简介与快速配置指南...
- TI电量计--基本介绍及常见问题解答
- iOS苹果开发者账号(公司账号)申请流程详解
- 深信服 星耀前端一面面经+二面凉了
- 关于安装jdk后为什么要配置环境变量的那些事
- 制作微信H5互动小游戏如何确认主题?
- Leetcode-标签为Tree 226. Invert Binary Tree