結果
| 問題 |
No.3341 Making Beautiful Graphs
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2025-11-13 22:25:29 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 72 ms / 2,000 ms |
| コード長 | 938 bytes |
| コンパイル時間 | 280 ms |
| コンパイル使用メモリ | 82,448 KB |
| 実行使用メモリ | 76,728 KB |
| 最終ジャッジ日時 | 2025-11-13 22:25:37 |
| 合計ジャッジ時間 | 6,786 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 50 |
ソースコード
"""
0 1
2 3
0 1 2
3 4 5
6 7 8
"""
def solve(n):
for i in range(n):
for j in range(n):
z = 0
for dx, dy in [[1, 0], [0, 1], [-1, 0], [0, -1]]:
nx = (i + dx) % n
ny = (j + dy) % n
z += nx * n + ny
if (z - (i * n + j) * 4) % (n * n) != 0:
# print(i, j, (z - (i * n + j) * 4) % (n * n))
return False
return True
n = int(input())
if n <= 2:
print(-1)
else:
sum = [0] * (n * n)
deg = [0] * (n * n)
for i in range(n * n):
for dx in [-n, -1, 1, n]:
j = (i + dx) % (n * n)
sum[j] += i
deg[i] += 1
assert all(deg[i] == 4 for i in range(n * n)) and all((sum[i] - i * 4) % (n * n) == 0 for i in range(n * n))
print(n * n * 2)
for i in range(n * n):
for dx in [1, n]:
j = (i + dx) % (n * n)
print(i + 1, j + 1)