sfqxx 发表于 2023-7-8 21:31:12

为什么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:}

元豪 发表于 2023-7-8 21:36:32

我连题目都没有看懂{:10_266:}

元豪 发表于 2023-7-8 21:37:27

还有,应该改为A[ i ],就不会斜体了

sfqxx 发表于 2023-7-8 22:01:00

元豪 发表于 2023-7-8 21:36
我连题目都没有看懂

就是外面12个数字顺时针交换位置

sfqxx 发表于 2023-7-8 23:03:25

@zhangjinxuan

元豪 发表于 2023-7-9 08:22:14

sfqxx 发表于 2023-7-8 22:01
就是外面12个数字顺时针交换位置

{:9_230:}这么简单?!

我哭死啊{:5_100:}

zhangjinxuan 发表于 2023-7-9 08:56:49

元豪 发表于 2023-7-9 08:22
这么简单?!

我哭死啊

哀{:10_266:}

zhangjinxuan 发表于 2023-7-9 08:58:34

print(c, end="")

what's this, c 不是二维数组吗

sfqxx 发表于 2023-7-9 09:00:40

zhangjinxuan 发表于 2023-7-9 08:58
what's this, c 不是二维数组吗

所以怎么搞

zhangjinxuan 发表于 2023-7-9 09:03:25

sfqxx 发表于 2023-7-9 09:00
所以怎么搞

你这样想,你再记一个数组 ans,对应答案数组,然后你就先把外圈的数字对应的 ans 求出来,再填剩余内部的数字,最后输出 ans

sfqxx 发表于 2023-7-9 09:07:51

zhangjinxuan 发表于 2023-7-9 09:03
你这样想,你再记一个数组 ans,对应答案数组,然后你就先把外圈的数字对应的 ans 求出来,再填剩余内部 ...

不会{:10_266:},我只会找规律

sfqxx 发表于 2023-7-9 09:09:27

zhangjinxuan 发表于 2023-7-9 09:03
你这样想,你再记一个数组 ans,对应答案数组,然后你就先把外圈的数字对应的 ans 求出来,再填剩余内部 ...

写一点点代码呗{:10_254:}

zhangjinxuan 发表于 2023-7-9 09:16:50

sfqxx 发表于 2023-7-9 09:07
不会,我只会找规律

《找 规 律》{:10_306:}

zhangjinxuan 发表于 2023-7-9 09:24:22

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++ 代码翻译过来的,供参考。

sfqxx 发表于 2023-7-9 09:33:41

zhangjinxuan 发表于 2023-7-9 09:24
这是我按照我原本的 C++ 代码翻译过来的,供参考。

第一行??。

zhangjinxuan 发表于 2023-7-9 09:39:37

sfqxx 发表于 2023-7-9 09:33
第一行??。

没啥用{:10_306:}

sfqxx 发表于 2023-7-9 09:42:57

zhangjinxuan 发表于 2023-7-9 09:39
没啥用

不会报错吗

zhangjinxuan 发表于 2023-7-9 09:44:11

sfqxx 发表于 2023-7-9 09:42
不会报错吗

去掉似乎不会,因为第二行没有引用 n,第三行也在初始化 n,因此,1行无用

sfqxx 发表于 2023-7-9 09:45:01

zhangjinxuan 发表于 2023-7-9 09:44
去掉似乎不会,因为第二行没有引用 n,第三行也在初始化 n,因此,1行无用

加分号不会报错吗?

zhangjinxuan 发表于 2023-7-9 09:45:41

sfqxx 发表于 2023-7-9 09:45
加分号不会报错吗?

真的不会,你敢信{:10_257:}

页: [1] 2
查看完整版本: 为什么RE啊