結果

問題 No.3506 All Distance is Square Number
コンテスト
ユーザー Kude
提出日時 2026-04-18 03:36:55
言語 PyPy3
(7.3.17)
コンパイル:
pypy3 -mpy_compile _filename_
実行:
pypy3 _filename_
結果
WA  
実行時間 -
コード長 1,042 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 2,254 ms
コンパイル使用メモリ 84,736 KB
実行使用メモリ 81,536 KB
最終ジャッジ日時 2026-04-18 03:37:04
合計ジャッジ時間 8,221 ms
ジャッジサーバーID
(参考情報)
judge3_0 / judge1_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 2 WA * 27
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

from math import isqrt
n = int(input())
if n == 4:
    print(4)
    print(1, 2, 9)
    print(2, 3, 16)
    print(3, 4, 144)
    print(2, 4, 1)
    print(1, 1)
    print(2, 1, 2)
    print(3, 1, 2, 3)
    print(1, 2)
    print(1, 4)
    print(1, 3)
    exit()

print(2 * n - 3)
for i in range(n - 1):
    print(i + 1, i + 2, 1)
    if i + 2 < n:
        print(i + 1, i + 3, 1)

for i in range(n):
    for j in range(i + 1, n):
        d = j - i
        if d == 3:
            if i == 0:
                es = [2*i, 2*(i+1), 2*(i+2)+1, 2*(i+3)]
            else:
                es = [2*(i-1), 2*(i-1)+1, 2*(i+1), 2*(i+2)]
        else:
            sq = isqrt(d)
            skip = d - sq * sq
            v = i
            es = []
            while v != j:
                if skip:
                    es.append(2*v+1)
                    v += 2
                    skip -= 1
                else:
                    es.append(2*v)
                    v += 1
            assert len(es) == sq * sq
        print(len(es), *(id + 1 for id in es))
0