結果
| 問題 | No.3765 321-avoiding Grid |
| コンテスト | |
| ユーザー |
apricity
|
| 提出日時 | 2026-07-13 03:39:13 |
| 言語 | PyPy3 (8.0.0 + ACL) |
| 結果 |
WA
不安定
|
| 実行時間 | - |
| コード長 | 946 bytes |
| 記録 | |
| コンパイル時間 | 83 ms |
| コンパイル使用メモリ | 64,800 KB |
| 実行使用メモリ | 69,148 KB |
| 最終ジャッジ日時 | 2026-10-16 20:53:03 |
| 合計ジャッジ時間 | 4,562 ms |
|
ジャッジサーバーID (参考情報) |
judge5_0 / judge1_0 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | WA * 3 |
| other | AC * 22 WA * 6 |
ソースコード
#!/usr/bin/env pypy3
from itertools import permutations
n,a,b,c = map(int, input().split())
s = [['0' for _ in range(n)] for _ in range(n)]
dx = [0,1,0,-1]
dy = [1,0,-1,0]
for x in permutations([a,b,c]):
y = list(x)
for i in range(n):
for j in range(n):
for k in range(3):
if y[k] > 0:
s[i][j] = chr(ord('1') + k)
y[k] -= 1
break
ok = True
for i in range(n):
for j in range(n):
if s[i][j] != '2':
continue
m = 0
for d in range(4):
x = i + dx[d]
y = j + dy[d]
if x < 0 or x >= n or y < 0 or y >= n:
continue
m |= 1 << (ord(s[x][y]) - ord('1'))
if (m & 5) == 5:
ok = False
if ok:
for i in range(n):
print("".join(s[i]))
exit(0)
apricity