提出 #73725506


ソースコード 拡げる

#include <bits/stdc++.h>
using namespace std;
const int MOD = 998244353;
const int N = 200005;
int par[N];

int fnd(int x)
{
    return par[x] == x ? x : par[x] = fnd(par[x]);
}

int main()
{
    int n, m;
    cin >> n >> m;
    vector<int> u(m + 1), v(m + 1);
    for (int i = 1; i <= m; ++i)
    {
        cin >> u[i] >> v[i];
    }
    vector<int> p2(m + 1);
    p2[0] = 1;
    for (int i = 1; i <= m; ++i)
    {
        p2[i] = p2[i - 1] * 2 % MOD;
    }
    for (int i = 1; i <= N; ++i)
        par[i] = i;
    int cnt = n;
    int ans = 0;
    for (int i = m; i >= 1; --i)
    {
        int a = fnd(u[i]), b = fnd(v[i]);
        if (a != b)
        {
            if (cnt > 2)
            {
                par[a] = b;
                --cnt;
            }
            else
            {
                ans = (ans + p2[i]) % MOD;
            }
        }
    }
    cout << ans << endl;
    return 0;
}

提出情報

提出日時
問題 E - Divide Graph
ユーザ altman_xie
言語 C++23 (GCC 15.2.0)
得点 475
コード長 953 Byte
結果 AC
実行時間 75 ms
メモリ 6688 KiB

コンパイルエラー

./Main.cpp: In function 'main':
./Main.cpp:28:16: warning: iteration 200004 invokes undefined behavior [-Waggressive-loop-optimizations]
   28 |         par[i] = i;
      |         ~~~~~~~^~~
./Main.cpp:27:23: note: within this loop
   27 |     for (int i = 1; i <= N; ++i)
      |                     ~~^~~~
./Main.cpp: In function 'main':
./Main.cpp:28:16: warning: iteration 200004 invokes undefined behavior [-Waggressive-loop-optimizations]
   28 |         par[i] = i;
      |                ^
./Main.cpp:27:23: note: within this loop
   27 |     for (int i = 1; i <= N; ++i)
      |                       ^

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 475 / 475
結果
AC × 3
AC × 36
セット名 テストケース
Sample 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt
All 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 01_random_00.txt, 01_random_01.txt, 01_random_02.txt, 01_random_03.txt, 01_random_04.txt, 01_random_05.txt, 01_random_06.txt, 01_random_07.txt, 01_random_08.txt, 01_random_09.txt, 01_random_10.txt, 01_random_11.txt, 01_random_12.txt, 01_random_13.txt, 01_random_14.txt, 02_perfect_00.txt, 02_perfect_01.txt, 02_perfect_02.txt, 02_perfect_03.txt, 02_perfect_04.txt, 02_perfect_05.txt, 02_perfect_06.txt, 02_perfect_07.txt, 02_perfect_08.txt, 03_tree_00.txt, 03_tree_01.txt, 03_tree_02.txt, 03_tree_03.txt, 03_tree_04.txt, 03_tree_05.txt, 03_tree_06.txt, 04_handmade_00.txt, 04_handmade_01.txt
ケース名 結果 実行時間 メモリ
00_sample_00.txt AC 2 ms 4388 KiB
00_sample_01.txt AC 2 ms 4484 KiB
00_sample_02.txt AC 1 ms 4260 KiB
01_random_00.txt AC 50 ms 6220 KiB
01_random_01.txt AC 45 ms 5772 KiB
01_random_02.txt AC 39 ms 5584 KiB
01_random_03.txt AC 5 ms 4504 KiB
01_random_04.txt AC 46 ms 6236 KiB
01_random_05.txt AC 41 ms 5328 KiB
01_random_06.txt AC 33 ms 5196 KiB
01_random_07.txt AC 32 ms 5136 KiB
01_random_08.txt AC 49 ms 5852 KiB
01_random_09.txt AC 35 ms 5200 KiB
01_random_10.txt AC 73 ms 6372 KiB
01_random_11.txt AC 72 ms 6288 KiB
01_random_12.txt AC 75 ms 6436 KiB
01_random_13.txt AC 48 ms 5792 KiB
01_random_14.txt AC 65 ms 6028 KiB
02_perfect_00.txt AC 52 ms 6352 KiB
02_perfect_01.txt AC 52 ms 6472 KiB
02_perfect_02.txt AC 52 ms 6620 KiB
02_perfect_03.txt AC 52 ms 6472 KiB
02_perfect_04.txt AC 51 ms 6688 KiB
02_perfect_05.txt AC 52 ms 6480 KiB
02_perfect_06.txt AC 51 ms 6500 KiB
02_perfect_07.txt AC 52 ms 6416 KiB
02_perfect_08.txt AC 52 ms 6500 KiB
03_tree_00.txt AC 74 ms 6416 KiB
03_tree_01.txt AC 75 ms 6352 KiB
03_tree_02.txt AC 72 ms 6620 KiB
03_tree_03.txt AC 75 ms 6416 KiB
03_tree_04.txt AC 75 ms 6472 KiB
03_tree_05.txt AC 75 ms 6416 KiB
03_tree_06.txt AC 75 ms 6480 KiB
04_handmade_00.txt AC 2 ms 4348 KiB
04_handmade_01.txt AC 73 ms 6412 KiB