福”字倒着贴,寓意“福到”。不论到底算不算民俗,本题且请你编写程序,把各种汉字倒过来输出。这里要处理的每个汉字是由一个 N × N 的网格组成的,网格中的元素或者为字符 @ 或者为空格。而倒过来的汉字所用的字符由裁判指定。 输入格式: 输入在第一行中给出倒过来的汉字所用的字符、以及网格的规模 N (不超过100的正整数),其间以 1 个空格分隔;随后 N 行,每行给出 N 个字符,或者为 @ 或者为空格。 输出格式: 输出倒置的网格,如样例所示。但是,如果这个字正过来倒过去是一样的,就先输出bu yong dao le,然后再用输入指定的字符将其输出。
时间: 2024-02-28 22:56:06 浏览: 146
以下是 Python 代码实现:
```python
# 定义一个函数,将输入的网格进行倒置
def reverse_grid(grid):
n = len(grid)
new_grid = [[' ' for _ in range(n)] for _ in range(n)]
for i in range(n):
for j in range(n):
new_grid[j][i] = grid[i][j]
return new_grid
# 输入倒过来的汉字所用的字符和网格的规模
char, n = input().split()
n = int(n)
# 读入汉字网格
grid = [input() for _ in range(n)]
# 判断是否需要输出 "bu yong dao le"
if grid == reverse_grid(grid):
print("bu yong dao le")
else:
# 倒置网格
reversed_grid = reverse_grid(grid)
# 输出倒置后的汉字
for i in range(n):
for j in range(n):
if reversed_grid[i][j] == '@':
print(char, end='')
else:
print(reversed_grid[i][j], end='')
print()
```
使用示例:
输入:
```
*
5
*****
* *
* @ *
* *
*****
```
输出:
```
*****
* *
* @ *
* *
*****
```
阅读全文