結果

問題 No.1523 +/- Tree
ユーザー gew1fw
提出日時 2025-06-12 13:21:17
言語 PyPy3
(7.3.15)
結果
WA  
実行時間 -
コード長 1,217 bytes
コンパイル時間 400 ms
コンパイル使用メモリ 82,588 KB
実行使用メモリ 70,024 KB
最終ジャッジ日時 2025-06-12 13:23:21
合計ジャッジ時間 6,816 ms
ジャッジサーバーID
(参考情報)
judge4 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other AC * 26 WA * 18
権限があれば一括ダウンロードができます

ソースコード

diff #

n, k = map(int, input().split())

if k == 1:
    print("No")
else:
    # Try to construct a chain for K=2
    if k == 2:
        if n < 3:
            print("No")
        else:
            edges = []
            current_w = 2
            for i in range(n-1):
                if i % 2 == 0:
                    edges.append((i+1, i+2, 2))
                else:
                    edges.append((i+1, i+2, -3))
            total_sum = sum(w for u, v, w in edges)
            if total_sum > 0:
                print("Yes")
                for u, v, w in edges:
                    print(u, v, w)
            else:
                print("No")
    else:
        # Check if K > (n+1)/2
        if 2*k > n + 1:
            l = n - 1
            x = 2*k - 3
            y = -2
            sum_edges = 2*x + (l - 2)*y
            if sum_edges > 0:
                edges = []
                edges.append((1, 2, x))
                for i in range(2, l):
                    edges.append((i, i+1, y))
                edges.append((l, l+1, x))
                print("Yes")
                for u, v, w in edges:
                    print(u, v, w)
            else:
                print("No")
        else:
            print("No")
0