PAT L1-039 古风排版

https://pintia.cn/problem-sets/994805046380707840/problems/994805091888906240

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

输入格式:

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

输出格式:

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

输入样例:

4
This is a test case

输出样例:

asa T
st ih
e tsi
 ce s

时间复杂度: $O(len)$

代码:

#include <bits/stdc++.h>
using namespace std;

#define MAX 1000010

int n;
char ch[MAX];

int main() {
    scanf("%d\n", &n);
    cin.getline(ch, MAX);
    int len = strlen(ch);
    int m = len % n == 0 ? len / n : len / n + 1;
    for(int i = 0; i < n; i ++) {
        for(int j = 0; j < m; j ++){
            printf("%c", ((m - 1 - j) * n + i >= len) ? ‘ ‘ : ch[(m - 1 - j) * n + i]);
        }
        printf("\n");
    }

    return 0;
}

  

原文地址:https://www.cnblogs.com/zlrrrr/p/9498809.html

时间: 2024-10-09 19:32:08

PAT L1-039 古风排版的相关文章

L1-039. 古风排版

L1-039. 古风排版 中国的古人写文字,是从右向左竖向排版的.本题就请你编写程序,把一段文字按古风排版. 输入格式: 输入在第一行给出一个正整数N(<100),是每一列的字符数.第二行给出一个长度不超过1000的非空字符串,以回车结束. 输出格式: 按古风格式排版给定的字符串,每列N个字符(除了最后一列可能不足N个) 输入样例: 4 This is a test case 输出样例: asa T st ih e tsi ce s #include<iostream> #include

CCCC L1-039. 古风排版【图形输出/循环控制行列/模拟/细节】

L1-039. 古风排版 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 中国的古人写文字,是从右向左竖向排版的.本题就请你编写程序,把一段文字按古风排版. 输入格式: 输入在第一行给出一个正整数N(<100),是每一列的字符数.第二行给出一个长度不超过1000的非空字符串,以回车结束. 输出格式: 按古风格式排版给定的字符串,每列N个字符(除了最后一列可能不足N个) 输入样例: 4 This is a test case

PAT-GPLT训练集 L1-039 古风排版

PAT-GPLT训练集 L1-039 古风排版 注意:在输入字符串时,最后一个字符为'\0', 虽然输出时显示为空格,但是系统检查为'\0'!!! 代码: #include<stdio.h> #include<string.h> char a[1005]; int str[1005][1005]; int n; int main() { for(int i = 0; i < 1005; i++) a[i] = ' '; for(int i = 0; i < 1005;

PTA|团体程序设计天梯赛-练习题目题解锦集(C/C++)(持续更新中……)

PTA|团体程序设计天梯赛-练习题目题解锦集(持续更新中) 实现语言:C/C++:      欢迎各位看官交流讨论.指导题解错误:或者分享更快的方法!! 题目链接:https://pintia.cn/problem-sets/994805046380707840/problems 目录 (点击对应题目即可进入相应题解--小声BB--) L1-001 Hello World (5 分) L1-002 打印沙漏 (20 分) L1-003 个位数统计 (15 分) L1-004 计算摄氏温度 (5

4.7-4.9补题+水题+高维前缀和

题目链接:51nod 1718 Cos的多项式  [数学] 题解: 2cosx=2cosx 2cos2x=(2cosx)^2-2 2cos3x=(2cosx)^3-3*(2cosx) 数归证明2cos(nx)能表示成关于2cosx的多项式,设为f(n) f(1)=x,f(2)=x^2-2(其中的x就是2cosx) 假设n=1~k时均成立(k>=3) 当n=k+1时 由cos((k+1)x)=cos(kx)cos(x)-sin(kx)sin(x) cos((k-1)x)=cos(kx)cos(x)

C博客作业--指针

一.PTA实验作业 题目1:6-3 统计大于等于平均分人数 1. 本题PTA提交列表 2. 设计思路(伪代码或流程图) int fun ( float *s, int n, float *aver ) 定义整型变量i,j:浮点型变量sum=0,ave 遍历数组 sum=sum+*(s+i) 求平均分 ave=sum/n*1.0 n=0: 遍历数组,若大于等于ave,n++ *aver=ave 返回n值 3.代码截图 4.本题调试过程碰到问题及PTA提交列表情况说明 一开始计算平均分ave的时候,

Atcoder Snuke&#39;s Subway Trip 重构图

题目链接 这题主要是重构图的方法很难思考. 方法一:考虑在每个公司意义下的联通块,每个联通块对应一个虚拟节点,联通块内的节点到联通块对应的虚拟节点有一条边,构建出一个二分图,跑一遍BFS,将经过的边数除以2.这里有两种实现,                             细节都注释在了程序里 1 #include<bits/stdc++.h> 2 using namespace std; 3 vector<pair<int,int> > nei[1000005

团体程序设计天梯赛-练习集(二)

L1-041 寻找250 (10分) https://pintia.cn/problem-sets/994805046380707840/problems/994805089657536512 #include <cstdio> #include <iostream> using namespace std; int main() { int n,flag=0; int num=1; int value; while(scanf("%d",&n)!=EO

loj#6072 苹果树(折半搜索,矩阵树定理,容斥)

loj#6072 苹果树(折半搜索,矩阵树定理,容斥) loj 题解时间 $ n \le 40 $ . 无比精确的数字. 很明显只要一个方案不超过 $ limits $ ,之后的计算就跟选哪个没关系了. 折半搜索排序来统计有i个果子是有用的情况下的方案数. 然后矩阵树求生成树个数,容斥乱搞. #include<bits/stdc++.h> using namespace std; template<typename TP>inline void read(TP &tar)