天梯赛习题:福到了(递归打印)
L1-054 福到了 (15 分)
“福”字倒着贴,寓意“福到”。不论到底算不算民俗,本题且请你编写程序,把各种汉字倒过来输出。这里要处理的每个汉字是由一个 N × N 的网格组成的,网格中的元素或者为字符 @ 或者为空格。而倒过来的汉字所用的字符由裁判指定。
输入格式:
输入在第一行中给出倒过来的汉字所用的字符、以及网格的规模 N (不超过100的正整数),其间以 1 个空格分隔;随后 N 行,每行给出 N 个字符,或者为 @ 或者为空格。
输出格式:
输出倒置的网格,如样例所示。但是,如果这个字正过来倒过去是一样的,就先输出bu yong dao le,然后再用输入指定的字符将其输出。
输入样例 1:
$ 9@ @@@@@
@@@ @@@ @ @ @
@@@ @@@
@@@ @@@@@
@@@ @ @ @
@@@ @@@@@@ @ @ @@ @@@@@
输出样例 1:
$$$$$ $
$ $ $ $
$$$$$ $$$
$ $ $ $$$
$$$$$ $$$$$$ $$$$ $ $ $$$ $$$
$$$$$ $
输入样例 2:
& 3
@@@@
@@@输出样例 2:
bu yong dao le
&&&&
&&&
【思路】
不是非常难的题,用递归能很轻松解掉,关键是注意一下坑点就行了。
字符读入的时候会将输入末尾的回车符也读进去,要想不让回车进行干扰,就用getchar函数在必要的时候读掉回车即可!
AC代码:
#include<iostream>
using namespace std;char ch;
int len;
int n;
int g; //边界
const int maxn = 102;
char a[maxn][maxn];
char b[maxn][maxn];void f(int k) //f函数,把第k排以下的部分都倒过去
{//将第一排倒过去int row = len - k; //我要去的排数int col; //每个元素要去的列for(int j = 1;j <= n;j++){col = len - j; //算出要去的列号 if(a[k][j] == ' ')b[row][col] = ' ';elseb[row][col] = ch;} if(k != n) //base case: k == gf(k + 1);
}bool judge()
{bool ok = true;for(int i = 1;i <= n;i++){for(int j = 1;j <= n;j++){if((a[i][j] == ' ' && b[i][j] != ' ') || (a[i][j] != ' ' && b[i][j] == ' '))return false;}}return true;
}int main()
{cin >> ch >> n;getchar(); //读回车 for(int i = 1;i <= n;i++){for(int j = 1;j <= n;j++){scanf("%c", &a[i][j]); } getchar(); //读回车 }len = n + 1;f(1);if(judge()) //加个判断即可 {cout << "bu yong dao le" << endl;}for(int i = 1;i <= n;i++){for(int j = 1;j <= n;j++){cout << b[i][j];}cout << endl;}return 0;
}
天梯赛习题:福到了(递归打印)相关推荐
- 团体程序设计天梯赛——L1-054 福到了
团体程序设计天梯赛--L1-054 福到了 https://pintia.cn/problem-sets/994805046380707840/problems/994805076512587776 ...
- Python入门习题(57)——团体程序设计天梯赛习题:古风排版
天梯赛习题:古风排版 题目描述 解题思路 数据结构 算法 细节 参考答案 测试用例 小结 题目描述 中国的古人写文字,是从右向左竖向排版的.本题就请你编写程序,把一段文字按古风排版. 输入格式: 输入 ...
- pat天梯赛L1-054. 福到了
L1-054. 福到了 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 "福"字倒着贴,寓意"福到 ...
- 天梯赛 L1-054 福到了 (15 分) C++
题目链接. 解题思路: 将整行读到字符串中,通过reverse()函数将字符串逆序在从后往前遍历输出,定义两个字符串数组来判断是否需要倒置,将$转换成char写的有点麻烦. #include<b ...
- 天梯赛习题:直捣黄龙(Dijsk算法 + dfs + 路径状态存储)
L3-011 直捣黄龙 (30 分) 本题是一部战争大片 -- 你需要从己方大本营出发,一路攻城略地杀到敌方大本营.首先时间就是生命,所以你必须选择合适的路径,以最快的速度占领敌方大本营.当这样的路径 ...
- 【团体天梯赛/PTA】7-34 福到了 (15 分)
[团体天梯赛/PTA]7-34 福到了 (15 分) "福"字倒着贴,寓意"福到".不论到底算不算民俗,本题且请你编写程序,把各种汉字倒过来输出.这里要处理的每 ...
- 团体程序设计天梯赛 -- 练习集 (L1合集)
文章目录 L1-001 Hello World (5 分) L1-002 打印沙漏 (20 分) L1-003 个位数统计 (15 分) L1-004 计算摄氏温度 (5 分) L1-005 考试座位 ...
- PTA|团体程序设计天梯赛-练习题库集
文章目录 关于爬取脚本的编写 L1-001 Hello World! (5 分) L1-002 打印沙漏 (15 分) L1-003 个位数统计 (15 分) L1-004 计算摄氏温度 (5 分) ...
- PTA团体程序设计天梯赛-练习集Level-1(参考代码C语言/Python版)
本题目集截止到2022年天梯赛 受个人水平限制,<PTA团体程序设计天梯赛-练习集>中暂时只能把Level-1的题目做出来(也许有些Level-2的题可以写出来?)-我不是专门搞竞赛的,参 ...
最新文章
- Spring-AOP 混合使用各种切面类型及不同切面总结
- 【杭电多校2020】Lead of Wisdom【搜索】【复杂度证明】
- django的url控制系统
- java peek函数_Java 8 Stream Api 中的 peek 操作
- 大数据技术周报第 004 期
- 《快活帮》第二次作业:团队项目选题报告
- 剑指offer之孩子们的游戏
- 独立线程池的作用及IO线程池
- oracle分区表 mysql_Oracle分区表的使用和管理
- Sudoku-Java
- 车辆工程计算机发展前景,车辆工程专业就业方向有哪些 就业前景怎么样
- serializer嵌套序列化
- B站视频下载及本地文件名修正
- linux 如何获取最高权限 设定
- matlabadftest_ADF检验matlab代码,看看啊
- iOS Xib Storyboard
- 球球大作战如何在电脑上玩 球球大作战电脑版教程
- Nginx 414 Request-URI Too Large报错解决方法
- nodejs和npm的关系
- Aspects 是什么,解决了什么问题?
热门文章
- U盘内容被病毒隐藏的解决办法(亲测可用)
- RocketMQ吐血整理
- 2021科大讯飞全球1024开发者节盛大开幕
- 一小时刷完英语口语常用3000词汇(绿色护眼版)day6-词汇501-600
- 如何实现Obsidian笔记云同步? | 实践
- 天球坐标系、地球坐标系与地球自转有无关系?哪一种便于描述地面观测站的空间位置?哪一种便于描述人造地球卫星的位置?总结GNSS定位的时空基准?	GPS卫星定位中,时间系统有何重要意义?
- 关于计算机这个行业,中级技工证书有什么意义吗?
- 涂鸦模组二次开发RTL8720CF
- linux 无法创建文件,无法创建文件系统以及无法创建PV时怎么办?
- android 阅读器自动滚动,Android编程实现小说阅读器滑动效果的方法