标签:输出 15 input PTA L1 output line include string
“福”字倒着贴,寓意“福到”。不论到底算不算民俗,本题且请你编写程序,把各种汉字倒过来输出。这里要处理的每个汉字是由一个 N × N 的网格组成的,网格中的元素或者为字符 @
或者为空格。而倒过来的汉字所用的字符由裁判指定。
输入格式:
输入在第一行中给出倒过来的汉字所用的字符、以及网格的规模 N (不超过100的正整数),其间以 1 个空格分隔;随后 N 行,每行给出 N 个字符,或者为 @
或者为空格。
输出格式:
输出倒置的网格,如样例所示。但是,如果这个字正过来倒过去是一样的,就先输出bu yong dao le
,然后再用输入指定的字符将其输出。
输入样例 1:
$ 9
@ @@@@@
@@@ @@@
@ @ @
@@@ @@@
@@@ @@@@@
@@@ @ @ @
@@@ @@@@@
@ @ @ @
@ @@@@@
输出样例 1:
$$$$$ $
$ $ $ $
$$$$$ $$$
$ $ $ $$$
$$$$$ $$$
$$$ $$$
$ $ $
$$$ $$$
$$$$$ $
输入样例 2:
& 3
@@@
@
@@@
输出样例 2:
bu yong dao le
&&&
&
&&&
解题: reverse + vector + string
1. 别忘了C++中的 string 类型也是一个容器,且string可以直接的判断 ==、>、<、!= 等string间关系
2. algorithm 中的reverse()
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<vector>
using namespace std;
vector<string> input,output;
int main(){
string line;
char c;int flag = 0,n;
cin>>c>>n;
getchar();
while(n--){
getline(cin,line);
input.push_back(line);
reverse(line.begin(),line.end());
output.push_back(line);
}
reverse(output.begin(),output.end());
for (int i = 0; i < input.size(); ++i) if (input[i] != output[i]) {flag = 1;break;};
if (flag == 0) cout<<"bu yong dao le"<<endl;
for (int i = 0; i < output.size(); ++i){
for (int j = 0; j < output[i].size(); ++j)
if (output[i][j] != ' ') output[i][j] = c;
cout<<output[i]<<endl;
}
return 0;
}
镇长1998 发布了361 篇原创文章 · 获赞 33 · 访问量 3万+ 私信 关注
标签:输出,15,input,PTA,L1,output,line,include,string 来源: https://blog.csdn.net/weixin_41514525/article/details/104195952
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。