結果

問題 No.2256 Step by Step
ユーザー 👑 rin204
提出日時 2024-04-29 16:54:37
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 55 ms / 2,000 ms
コード長 2,750 bytes
コンパイル時間 179 ms
コンパイル使用メモリ 82,556 KB
実行使用メモリ 64,640 KB
最終ジャッジ日時 2024-11-18 22:22:49
合計ジャッジ時間 3,297 ms
ジャッジサーバーID
(参考情報)
judge2 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 32
権限があれば一括ダウンロードができます

ソースコード

diff #
プレゼンテーションモードにする

n = int(input())
if n == 1:
ans = [
["1"],
["1"],
["0"],
["0"],
["0"],
["1"],
]
elif n == 2:
print(-1)
exit()
else:
if n % 2 == 1:
ans = [
["0", "1", "2"],
["3", "4", "5"],
["3", "4", "5"],
["2", "2", "5"],
["1", "4", "1"],
["3", "0", "0"],
]
else:
ans = [
["9", "1", "1", "2"],
["7", "9", "9", "5"],
["3", "1", "1", "5"],
["1", "2", "2", "5"],
["3", "0", "0", "1"],
["3", "7", "7", "0"],
]
add1 = [
["8", "0", "6"],
["0", "4", "2"],
["2", "4", "2"],
["6", "6", "2"],
["1", "8", "8"],
["0", "4", "0"],
]
add2 = [
["9", "1", "7"],
["1", "5", "3"],
["6", "5", "3"],
["7", "7", "3"],
["8", "9", "9"],
["0", "5", "1"],
]
add3 = [
["8", "0", "6"],
["0", "4", "2"],
["7", "4", "2"],
["6", "6", "2"],
["9", "8", "8"],
["1", "4", "0"],
]
while len(ans[0]) < n:
for i in range(6):
ans[i].pop()
ans[i].extend(add1[i])
add1, add2 = add2, add1
if add3 is not None:
add2 = add3[:]
add3 = None
for row in ans:
print(*row, sep="")
exit()
def upd(S):
n = len(S)
m = len(S[0])
c = 0
delete = [[False] * m for _ in range(n)]
for i in range(n):
for j in range(m):
if (
i >= 2
and S[i - 2][j] == S[i - 1][j] == S[i][j] != "?"
and S[i][j] != "_"
):
delete[i][j] = True
delete[i - 1][j] = True
delete[i - 2][j] = True
c += 1
if (
j >= 2
and S[i][j - 2] == S[i][j - 1] == S[i][j] != "?"
and S[i][j] != "_"
):
delete[i][j] = True
delete[i][j - 1] = True
delete[i][j - 2] = True
c += 1
if c != 1:
return False
for j in range(m):
t = n - 1
for i in range(n - 1, -1, -1):
if delete[i][j]:
continue
S[t][j] = S[i][j]
t -= 1
for i in range(t, -1, -1):
S[i][j] = "?"
return True
def ok(S):
n = len(S[0]) * 2
while upd(S) and n > 0:
pass
n -= 1
for row in S:
print(*row, sep="")
print()
for row in S:
if any(s != "?" for s in row):
return False
return True
print()
assert ok(ans)
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0