結果
問題 | No.2256 Step by Step |
ユーザー |
👑 |
提出日時 | 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 |
ソースコード
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, add1if add3 is not None:add2 = add3[:]add3 = Nonefor row in ans:print(*row, sep="")exit()def upd(S):n = len(S)m = len(S[0])c = 0delete = [[False] * m for _ in range(n)]for i in range(n):for j in range(m):if (i >= 2and S[i - 2][j] == S[i - 1][j] == S[i][j] != "?"and S[i][j] != "_"):delete[i][j] = Truedelete[i - 1][j] = Truedelete[i - 2][j] = Truec += 1if (j >= 2and S[i][j - 2] == S[i][j - 1] == S[i][j] != "?"and S[i][j] != "_"):delete[i][j] = Truedelete[i][j - 1] = Truedelete[i][j - 2] = Truec += 1if c != 1:return Falsefor j in range(m):t = n - 1for i in range(n - 1, -1, -1):if delete[i][j]:continueS[t][j] = S[i][j]t -= 1for i in range(t, -1, -1):S[i][j] = "?"return Truedef ok(S):n = len(S[0]) * 2while upd(S) and n > 0:passn -= 1for row in S:print(*row, sep="")print()for row in S:if any(s != "?" for s in row):return Falsereturn Trueprint()assert ok(ans)