企业网站源码 html,我的大学生活网页制作模板,西安手机网站建设公司,建网站哪家好案例中国的古人写文字#xff0c;是从右向左竖向排版的。本题就请你编写程序#xff0c;把一段文字按古风排版。
输入格式#xff1a;
输入在第一行给出一个正整数N#xff08;100#xff09;#xff0c;是每一列的字符数。第二行给出一个长度不超过1000的非空字符串是从右向左竖向排版的。本题就请你编写程序把一段文字按古风排版。
输入格式
输入在第一行给出一个正整数N100是每一列的字符数。第二行给出一个长度不超过1000的非空字符串以回车结束。
输出格式
按古风格式排版给定的字符串每列N个字符除了最后一列可能不足N个。
输入样例
4
This is a test case输出样例
asa T
st ih
e tsice s
避坑
在PTA上面肯呢个开启了什么奇奇怪怪的优化如果你不对使用的内存赋值那么可能使用的时候就会出错即使你把变量设置到main函数之外
所以这题的一个解决思路就是在缺少空格填充的文字末尾人为给他补充到长度为n的倍数即可 #includebits/stdc.h
#includestring.h
#includecstring
using namespace std;
#define IOO ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
//const int maxLine500010;
//#define ll long long int
#define int long long int
#define um unordered_mapint,int
#define vec vectorint
const int maxLine2e210;
//#define DEBUG true
//int n,m,k;//int arr[maxLine];//调用可以进行重定向
void initRedict() {
#ifdef DEBUGcout执行重定向endl;//重定向输入freopen(../redict/demo/demo_in.txt,r,stdin);
#endif
}
string mystr;
int n;
int len,indexx;
int startx,starty;
char arr[maxLine][maxLine];int getNextX(int x){x;if (xn) x1;return x;
}
int getNextY(int x,int y){return (xn)?(--y):y;
}void print(char arr[maxLine][maxLine],int m,int n){cout当前打印endl;for(int i1;im;i){for(int j1;jn;j){coutarr[i][j] ; }coutendl;}}
signed main() {cinn;getchar();getline(cin,mystr);
// coutmystr mystr.size();if (mystr.size()%n) {int addNumsn-mystr.size()%n; for(int i0;iaddNums;i) mystr ; } // 初始化参数lenmystr.size();int maxCollen/n(bool)(len%n);startx1;startymaxCol;indexx0;for(int i0;imystr.size();i){
// cout当前startx startyendl;arr[startx][starty]mystr[i];startygetNextY(startx,starty);startxgetNextX(startx);
// print(arr,n,maxCol);}for(int i1;in;i){for(int j1;jmaxCol;j){putchar(arr[i][j]);}putchar(\n);}return 0;
}