結果

問題 No.3071 Double Speedrun
ユーザー gew1fw
提出日時 2025-06-12 19:38:43
言語 PyPy3
(7.3.15)
結果
RE  
実行時間 -
コード長 824 bytes
コンパイル時間 188 ms
コンパイル使用メモリ 82,600 KB
実行使用メモリ 68,100 KB
最終ジャッジ日時 2025-06-12 19:39:20
合計ジャッジ時間 2,001 ms
ジャッジサーバーID
(参考情報)
judge5 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample RE * 3
other RE * 14
権限があれば一括ダウンロードができます

ソースコード

diff #

def main():
    import sys
    input = sys.stdin.read().split()
    idx = 0
    L = int(input[idx]); idx +=1
    R = int(input[idx]); idx +=1
    M = int(input[idx]); idx +=1

    edges = []
    for _ in range(M):
        a = int(input[idx]); idx +=1
        b = int(input[idx]); idx +=1
        edges.append((a, b))

    # Compute degrees
    deg_v1 = [0] * L
    deg_v2 = [0] * R
    for a, b in edges:
        deg_v1[a] +=1
        deg_v2[b] +=1

    min_degree = min(min(deg_v1), min(deg_v2))
    min_size = min(L, R)
    K = min(min_degree, min_size)

    # Assign colors
    color = [0] * M
    for i, (a, b) in enumerate(edges):
        # Use a simple heuristic: color = (a + b) % K
        color[i] = (a + b) % K

    # Output
    print(K)
    print('\n'.join(map(str, color)))

if __name__ == "__main__":
    main()
0