概述
输入格式:
输入在第一行给出一个正整数N(<100),是每一列的字符数。第二行给出一个长度不超过1000的非空字符串,以回车结束。
输出格式:
按古风格式排版给定的字符串,每列N个字符(除了最后一列可能不足N个)。
输入样例:
4
This is a test case
输出样例:
asa T
st ih
e tsi
ce s
解题思路:开1000个队列,每n个字符放到队列中,记录实际需要的队列数g,遍历n层,逆着每次弹出队列的第一个元素,如果队列为空则输出空格。
AC代码:
#include<bits/stdc++.h>
using namespace
std;
queue<char> Q[1001];
int main()
{
int n;
cin>>n;
getchar();
string a;
getline(cin,a);
int g=0;
int count=0;
for(int i=0;i<a.size();i++)
{
Q[g].push(a[i]);
count++;
if(count==n){
count=0;
g++;
}
}
if(count!=0)
g++;
for(int j=0;j<n;j++){
for(int i=g-1;i>=0;i--)
{
if(!Q[i].empty())
{
printf("%c",Q[i].front());
Q[i].pop();
}else
{
printf(" ");
}
}
cout<<endl;
}
}
最后
以上就是壮观枕头为你收集整理的PTA 古风排版 (20 分)队列方法的全部内容,希望文章能够帮你解决PTA 古风排版 (20 分)队列方法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复