为什么RE啊
本帖最后由 sfqxx 于 2023-7-8 22:00 编辑题目:
给定一个 N 行 N 列的网格,每个方块上都写着一个整数 A[i],其中 i 表示从上往下的行数,j 表示从左往右的列数。保证 A 的取值为 0 或 1。
将外层方块中的整数顺时针移动一格,并打印出结果网格。
这里,外层方块指的是第一行、最后一行、第一列和最后一列中的方块。
约束条件
2 ≤ N ≤ 100
0 ≤ A[i] ≤ 1(1 ≤ i, j ≤ N)
输入
输入以以下格式从标准输入中给出:
N
A A ... A
A A ... A
⋮
A A ... A
输出
将结果网格中每个方块的整数 B 按如下格式打印出来:
B B ... B
B B ... B
⋮
B B ... B
样例输入1
复制
4
0101
1101
1111
0000
样例输出1
复制
1010
1101
0111
0001
我们用 (i, j) 表示从上往下的 i-th 行和从左往右的 j-th 列中的方块。
外层方块按照顺时针的顺序依次为:(1,1),(1,2),(1,3),(1,4),(2,4),(3,4),(4,4),(4,3),(4,2),(4,1),(3,1) 和 (2,1)。
样例输出展示了将这些方块中的整数按顺时针方向向右移动一格后得到的结果网格。
我的代码:a = int(input())
c = []
for _ in range(a):
b = list(map(int, input().split()))
c.append(b)
print()
i = 0
for _ in range(a - 1):
print(c, end="")
i += 1
print()
j = 2
h = 1
for _ in range(a):
print(c, end="")
g = 2
for _ in range(a - 1):
print(c, end="")
g += 1
print()
j += 1
k = a - 1
for _ in range(a - 1):
print(a * a - k, end="")
k -= 1
print((a - 1) * a)
RE了{:10_266:} 我连题目都没有看懂{:10_266:} 还有,应该改为A[ i ],就不会斜体了 元豪 发表于 2023-7-8 21:36
我连题目都没有看懂
就是外面12个数字顺时针交换位置 @zhangjinxuan sfqxx 发表于 2023-7-8 22:01
就是外面12个数字顺时针交换位置
{:9_230:}这么简单?!
我哭死啊{:5_100:} 元豪 发表于 2023-7-9 08:22
这么简单?!
我哭死啊
哀{:10_266:} print(c, end="")
what's this, c 不是二维数组吗 zhangjinxuan 发表于 2023-7-9 08:58
what's this, c 不是二维数组吗
所以怎么搞 sfqxx 发表于 2023-7-9 09:00
所以怎么搞
你这样想,你再记一个数组 ans,对应答案数组,然后你就先把外圈的数字对应的 ans 求出来,再填剩余内部的数字,最后输出 ans zhangjinxuan 发表于 2023-7-9 09:03
你这样想,你再记一个数组 ans,对应答案数组,然后你就先把外圈的数字对应的 ans 求出来,再填剩余内部 ...
不会{:10_266:},我只会找规律 zhangjinxuan 发表于 2023-7-9 09:03
你这样想,你再记一个数组 ans,对应答案数组,然后你就先把外圈的数字对应的 ans 求出来,再填剩余内部 ...
写一点点代码呗{:10_254:} sfqxx 发表于 2023-7-9 09:07
不会,我只会找规律
《找 规 律》{:10_306:} n = int();
s = [['' for i in range(102)] for i in range(102)]
n = int(input())
for i in range(1, n + 1):
s = ' ' + input()
for i in range(1, n + 1):
for j in range(1, n + 1):
if i != 1 and j != 1 and i != n and j != n:
print(s, end = '')
else:
if i == 1:
if j == 1:
print(s, end = '')
else:
print(s, end = '')
elif j == n:
if i == 1:
print(s, end = '')
else:
print(s, end = '')
elif i == n:
if j == n:
print(s, end = '')
else:
print(s, end = '')
elif j == 1:
if i == n:
print(s, end = '')
else:
print(s, end = '')
print()
这是我按照我原本的 C++ 代码翻译过来的,供参考。 zhangjinxuan 发表于 2023-7-9 09:24
这是我按照我原本的 C++ 代码翻译过来的,供参考。
第一行??。 sfqxx 发表于 2023-7-9 09:33
第一行??。
没啥用{:10_306:} zhangjinxuan 发表于 2023-7-9 09:39
没啥用
不会报错吗 sfqxx 发表于 2023-7-9 09:42
不会报错吗
去掉似乎不会,因为第二行没有引用 n,第三行也在初始化 n,因此,1行无用 zhangjinxuan 发表于 2023-7-9 09:44
去掉似乎不会,因为第二行没有引用 n,第三行也在初始化 n,因此,1行无用
加分号不会报错吗? sfqxx 发表于 2023-7-9 09:45
加分号不会报错吗?
真的不会,你敢信{:10_257:}
页:
[1]
2