提出 #47177262


ソースコード 拡げる

#include <bits/stdc++.h>
using namespace std; 

int n, k, l; 
int f1[200005], f2[200005]; 
map<pair<int, int>, int> a; 
int find(int x, int *f) { return f[x] == x ? x : f[x] = find(f[x], f); }

int main(void) {
    ios::sync_with_stdio(0); 
    cin >> n >> k >> l; 
    for (int i = 1; i <= n; ++i) f1[i] = f2[i] = i; 
    while (k--) {
        int u, v; cin >> u >> v; 
        f1[find(u, f1)] = find(v, f1); 
    }
    while (l--) {
        int u, v; cin >> u >> v; 
        f2[find(u, f2)] = find(v, f2); 
    }
    for (int i = 1; i <= n; ++i) ++a[{find(i, f1), find(i, f2)}]; 
    for (int i = 1; i <= n; ++i) cout << a[{find(i, f1), find(i, f2)}] << " \n"[i == n]; 
    return 0; 
}

提出情報

提出日時
問題 D - 連結
ユーザ james1BadCreeper
言語 C++ 17 (gcc 12.2)
得点 400
コード長 711 Byte
結果 AC
実行時間 85 ms
メモリ 16500 KiB

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 400 / 400
結果
AC × 3
AC × 18
セット名 テストケース
Sample subtask0_0.txt, subtask0_1.txt, subtask0_2.txt
All subtask0_0.txt, subtask0_1.txt, subtask0_2.txt, subtask1_0.txt, subtask1_1.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_2.txt, subtask1_3.txt, subtask1_4.txt, subtask1_5.txt, subtask1_6.txt, subtask1_7.txt, subtask1_8.txt, subtask1_9.txt
ケース名 結果 実行時間 メモリ
subtask0_0.txt AC 1 ms 3560 KiB
subtask0_1.txt AC 1 ms 3344 KiB
subtask0_2.txt AC 1 ms 3456 KiB
subtask1_0.txt AC 18 ms 3628 KiB
subtask1_1.txt AC 85 ms 16500 KiB
subtask1_10.txt AC 19 ms 3480 KiB
subtask1_11.txt AC 77 ms 14976 KiB
subtask1_12.txt AC 75 ms 14232 KiB
subtask1_13.txt AC 74 ms 15520 KiB
subtask1_14.txt AC 69 ms 11860 KiB
subtask1_2.txt AC 62 ms 11704 KiB
subtask1_3.txt AC 77 ms 15224 KiB
subtask1_4.txt AC 72 ms 12576 KiB
subtask1_5.txt AC 19 ms 3428 KiB
subtask1_6.txt AC 72 ms 14220 KiB
subtask1_7.txt AC 82 ms 15356 KiB
subtask1_8.txt AC 85 ms 15460 KiB
subtask1_9.txt AC 58 ms 9320 KiB