Submission #64378939


Source Code Expand

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

#define all(a) begin(a), end(a)
#define len(a) (int)((a).size())

const int SZ = 200'100;

struct dsu {
    int n, comps = 0;
    vector<int> par, cnt;
    dsu(int n) : n(n) {
        par.resize(n);
        cnt.resize(n);
        for (int i = 0; i < n; ++i) {
            par[i] = i;
        }
    }

    int find(int v) {
        if (par[v] == v) return v;
        return par[v] = find(par[v]);
    }
    void active(int x) {
        ++comps;
        cnt[find(x)]++;
    }
    void uni(int v, int u) {
        v = find(v);
        u = find(u);
        if (v != u) {
            if (cnt[v] && cnt[u]) {
                --comps;
            }
            par[v] = u;
            cnt[u] += cnt[v];
        }
    }
};

int n, m;
vector<vector<int>> gr;

bool bip;
int used[SZ], tin[SZ], low[SZ], t = 0, good[SZ];
vector<int> cur;
void dfs(int v, int col = 0) {
    used[v] = col + 1;
    for (auto to : gr[v]) {
        if (!used[to]) {
            dfs(to, col ^ 1);
        } else if (used[to] - 1 != (col ^ 1)) {
            bip = false;
        }
    }
    cur.push_back(v);
}

dsu unit(0);

void dfs2(int v, int p = -1) {
    used[v] = true;
    tin[v] = low[v] = t++;
    for (int to : gr[v]) {
        if (to == p) continue;
        if (used[to]) {
            low[v] = min(low[v], tin[to]);
        } else {
            dfs2(to, v);
            low[v] = min(low[v], low[to]);
            if (low[to] > tin[v]) {
                good[v]++;
                good[to]++;
                unit.active(v);
                unit.active(to);
            } else {
                unit.uni(to, v);
            }
        }
    }
}

void solve() {
    cin >> n >> m;
    gr.clear();
    gr.resize(n);
    cur.clear();
    unit = dsu(n);
    for (int i = 0; i < n; ++i) {
        used[i] = good[i] = 0;
        tin[i] = low[i] = -1;
        //unit.active(i);
    }
    t = 0;
    for (int i = 0; i < m; ++i) {
        int u, v;
        cin >> u >> v;
        --u; --v;
        gr[u].push_back(v);
        gr[v].push_back(u);
    }

    bip = true;
    for (int i = 0; i < n; ++i) {
        if (!used[i]) {
            dfs(i);
        }
    }

    if (!bip) {
        cout << "Yes\n";
    } else {
        for (int i = 0; i < n; ++i) used[i] = 0;
        bool gd = true; 
        for (int i = 0; i < n; ++i) {
            if (!used[i]) {
                cur.clear();
                dfs2(i);
            }
            gd &= (good[i] >= 1);
            //int cnter = unit.cnt[unit.find(i)];
            gd &= (good[i] * 2 >= len(gr[i]) - good[i] - 1);
        }
        if (!gd) {
            cout << "Yes\n";
        } else {
            cout << "No\n";
        }
    }
}

int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);

    int t;
    cin >> t;

    while (t--) {
        solve();
    }

    return 0;
} 

Submission Info

Submission Time
Task C - Orientable as Desired
User Tea_Time
Language C++ 20 (gcc 12.2)
Score 0
Code Size 3029 Byte
Status WA
Exec Time 93 ms
Memory 44532 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 1100
Status
AC × 1
AC × 46
WA × 33
Set Name Test Cases
Sample 00_sample_01.txt
All 00_sample_01.txt, 01_random_case_01.txt, 01_random_case_02.txt, 01_random_case_03.txt, 01_random_case_04.txt, 01_random_case_05.txt, 01_random_case_06.txt, 01_random_case_07.txt, 01_random_case_08.txt, 01_random_case_09.txt, 01_random_case_10.txt, 01_random_case_11.txt, 01_random_case_12.txt, 01_random_case_13.txt, 01_random_case_14.txt, 01_random_case_15.txt, 01_random_case_16.txt, 01_random_case_17.txt, 01_random_case_18.txt, 01_random_case_19.txt, 01_random_case_20.txt, 01_random_case_21.txt, 01_random_case_22.txt, 01_random_case_23.txt, 01_random_case_24.txt, 01_random_case_25.txt, 01_random_case_26.txt, 01_random_case_27.txt, 01_random_case_28.txt, 01_random_case_29.txt, 01_random_case_30.txt, 01_random_case_31.txt, 01_random_case_32.txt, 01_random_case_33.txt, 01_random_case_34.txt, 01_random_case_35.txt, 01_random_case_36.txt, 01_random_case_37.txt, 01_random_case_38.txt, 01_random_case_39.txt, 01_random_case_40.txt, 01_random_case_41.txt, 01_random_case_42.txt, 01_random_case_43.txt, 01_random_case_44.txt, 01_random_case_45.txt, 01_random_case_46.txt, 01_random_case_47.txt, 01_random_case_48.txt, 01_random_case_49.txt, 01_random_case_50.txt, 01_random_case_51.txt, 01_random_case_52.txt, 01_random_case_53.txt, 01_random_case_54.txt, 01_random_case_55.txt, 01_random_case_56.txt, 01_random_case_57.txt, 01_random_case_58.txt, 01_random_case_59.txt, 01_random_case_60.txt, 01_random_case_61.txt, 01_random_case_62.txt, 01_random_case_63.txt, 02_max_case_01.txt, 02_max_case_02.txt, 02_max_case_03.txt, 02_max_case_04.txt, 02_max_case_05.txt, 02_max_case_06.txt, 02_max_case_07.txt, 02_max_case_08.txt, 03_handmade_01.txt, 03_handmade_02.txt, 03_handmade_03.txt, 03_handmade_04.txt, 03_handmade_05.txt, 03_handmade_06.txt, 03_handmade_07.txt
Case Name Status Exec Time Memory
00_sample_01.txt AC 1 ms 3444 KiB
01_random_case_01.txt WA 48 ms 15620 KiB
01_random_case_02.txt WA 24 ms 10092 KiB
01_random_case_03.txt WA 44 ms 13804 KiB
01_random_case_04.txt WA 42 ms 13860 KiB
01_random_case_05.txt WA 32 ms 12332 KiB
01_random_case_06.txt WA 47 ms 15480 KiB
01_random_case_07.txt WA 25 ms 10520 KiB
01_random_case_08.txt WA 41 ms 14000 KiB
01_random_case_09.txt WA 49 ms 15536 KiB
01_random_case_10.txt WA 28 ms 10832 KiB
01_random_case_11.txt WA 22 ms 9364 KiB
01_random_case_12.txt WA 50 ms 16468 KiB
01_random_case_13.txt WA 21 ms 9144 KiB
01_random_case_14.txt WA 46 ms 15660 KiB
01_random_case_15.txt WA 18 ms 8624 KiB
01_random_case_16.txt AC 25 ms 10148 KiB
01_random_case_17.txt AC 56 ms 16792 KiB
01_random_case_18.txt AC 44 ms 13604 KiB
01_random_case_19.txt AC 48 ms 14180 KiB
01_random_case_20.txt AC 41 ms 13764 KiB
01_random_case_21.txt AC 33 ms 12660 KiB
01_random_case_22.txt AC 13 ms 6952 KiB
01_random_case_23.txt AC 26 ms 10312 KiB
01_random_case_24.txt AC 22 ms 9340 KiB
01_random_case_25.txt AC 44 ms 14292 KiB
01_random_case_26.txt AC 16 ms 7964 KiB
01_random_case_27.txt AC 42 ms 14712 KiB
01_random_case_28.txt AC 21 ms 8656 KiB
01_random_case_29.txt AC 54 ms 16624 KiB
01_random_case_30.txt AC 11 ms 6608 KiB
01_random_case_31.txt AC 17 ms 8568 KiB
01_random_case_32.txt AC 29 ms 12480 KiB
01_random_case_33.txt AC 32 ms 12328 KiB
01_random_case_34.txt AC 40 ms 13904 KiB
01_random_case_35.txt AC 37 ms 14212 KiB
01_random_case_36.txt AC 36 ms 14344 KiB
01_random_case_37.txt AC 17 ms 8648 KiB
01_random_case_38.txt AC 44 ms 16260 KiB
01_random_case_39.txt AC 36 ms 13860 KiB
01_random_case_40.txt AC 43 ms 15840 KiB
01_random_case_41.txt AC 22 ms 10388 KiB
01_random_case_42.txt AC 35 ms 13724 KiB
01_random_case_43.txt AC 22 ms 10332 KiB
01_random_case_44.txt AC 35 ms 13388 KiB
01_random_case_45.txt AC 14 ms 7708 KiB
01_random_case_46.txt WA 32 ms 3684 KiB
01_random_case_47.txt WA 35 ms 4508 KiB
01_random_case_48.txt WA 39 ms 9896 KiB
01_random_case_49.txt WA 33 ms 3708 KiB
01_random_case_50.txt WA 30 ms 4088 KiB
01_random_case_51.txt WA 31 ms 7148 KiB
01_random_case_52.txt WA 32 ms 3736 KiB
01_random_case_53.txt WA 30 ms 4324 KiB
01_random_case_54.txt AC 27 ms 7152 KiB
01_random_case_55.txt WA 34 ms 3760 KiB
01_random_case_56.txt WA 36 ms 4656 KiB
01_random_case_57.txt WA 31 ms 6196 KiB
01_random_case_58.txt WA 33 ms 3800 KiB
01_random_case_59.txt WA 34 ms 4212 KiB
01_random_case_60.txt WA 22 ms 5816 KiB
01_random_case_61.txt WA 32 ms 3684 KiB
01_random_case_62.txt WA 32 ms 4144 KiB
01_random_case_63.txt WA 26 ms 5756 KiB
02_max_case_01.txt AC 71 ms 27616 KiB
02_max_case_02.txt AC 90 ms 40596 KiB
02_max_case_03.txt AC 78 ms 19868 KiB
02_max_case_04.txt AC 78 ms 19828 KiB
02_max_case_05.txt AC 60 ms 21864 KiB
02_max_case_06.txt AC 78 ms 26432 KiB
02_max_case_07.txt AC 72 ms 19812 KiB
02_max_case_08.txt AC 72 ms 19800 KiB
03_handmade_01.txt AC 1 ms 3496 KiB
03_handmade_02.txt AC 93 ms 44532 KiB
03_handmade_03.txt AC 79 ms 35344 KiB
03_handmade_04.txt AC 60 ms 25948 KiB
03_handmade_05.txt AC 77 ms 35256 KiB
03_handmade_06.txt WA 60 ms 23112 KiB
03_handmade_07.txt AC 59 ms 23560 KiB