Submission #74368453


Source Code Expand

#include <bits/stdc++.h>
using namespace std;
int n, m;
vector<int> e[100010], r[100010];
int t, bt[100010], c[100010];
void dfs(int u){
    bt[u] = t;
    for (int v : e[u])if (!bt[v])c[v] = (c[u] + 1) % 3, dfs(v);
    for (int v : r[u])if (!bt[v])c[v] = (c[u] + 2) % 3, dfs(v);
}
bool sc[100010];
int ct[100010][3];
int ce[100010];
int main(){
    ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
    cin >> n >> m;
    while (m--){
        int u, v;
        cin >> u >> v;
        e[u].emplace_back(v);
        r[v].emplace_back(u);
    }
    for (int i = 1; i <= n; ++i)if (!bt[i])++t, sc[t] = 1, dfs(i);
    for (int i = 1; i <= n; ++i){
        ++ct[bt[i]][c[i]];
        for (int j : e[i])
            sc[bt[i]] &= c[j] == (c[i] + 1) % 3, ++ce[bt[i]];
    }
    long long rs = 0;
    for (int i = 1; i <= t; ++i){
        if (!sc[i]){
            int s = ct[i][0] + ct[i][1] + ct[i][2];
            rs += 1ll * s * s;
        } else {
            if (ct[i][0] && ct[i][1] && ct[i][2])
                rs += 1ll * ct[i][0] * ct[i][1] + 1ll * ct[i][1] * ct[i][2] + 1ll * ct[i][2] * ct[i][0];
            else rs += ce[i];
        }
    }
    cout << rs << endl;
    return 0;
}

Submission Info

Submission Time
Task F - Blackout
User szt100309
Language C++23 (GCC 15.2.0)
Score 1700
Code Size 1224 Byte
Status AC
Exec Time 31 ms
Memory 20272 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 1700 / 1700
Status
AC × 3
AC × 53
Set Name Test Cases
Sample 0_00.txt, 0_01.txt, 0_02.txt
All 0_00.txt, 0_01.txt, 0_02.txt, 1_00.txt, 1_01.txt, 1_02.txt, 1_03.txt, 1_04.txt, 1_05.txt, 1_06.txt, 1_07.txt, 1_08.txt, 1_09.txt, 1_10.txt, 1_11.txt, 1_12.txt, 1_13.txt, 1_14.txt, 1_15.txt, 1_16.txt, 1_17.txt, 1_18.txt, 1_19.txt, 1_20.txt, 1_21.txt, 1_22.txt, 1_23.txt, 1_24.txt, 1_25.txt, 1_26.txt, 1_27.txt, 1_28.txt, 1_29.txt, 1_30.txt, 1_31.txt, 1_32.txt, 1_33.txt, 1_34.txt, 1_35.txt, 1_36.txt, 1_37.txt, 1_38.txt, 1_39.txt, 1_40.txt, 1_41.txt, 1_42.txt, 1_43.txt, 1_44.txt, 1_45.txt, 1_46.txt, 1_47.txt, 1_48.txt, 1_49.txt
Case Name Status Exec Time Memory
0_00.txt AC 2 ms 3768 KiB
0_01.txt AC 2 ms 3784 KiB
0_02.txt AC 2 ms 3696 KiB
1_00.txt AC 2 ms 3664 KiB
1_01.txt AC 3 ms 5304 KiB
1_02.txt AC 18 ms 16628 KiB
1_03.txt AC 19 ms 20196 KiB
1_04.txt AC 19 ms 20096 KiB
1_05.txt AC 19 ms 20272 KiB
1_06.txt AC 18 ms 20208 KiB
1_07.txt AC 19 ms 20084 KiB
1_08.txt AC 18 ms 20200 KiB
1_09.txt AC 18 ms 20164 KiB
1_10.txt AC 19 ms 20084 KiB
1_11.txt AC 19 ms 20008 KiB
1_12.txt AC 19 ms 20092 KiB
1_13.txt AC 17 ms 16964 KiB
1_14.txt AC 12 ms 10024 KiB
1_15.txt AC 11 ms 10076 KiB
1_16.txt AC 13 ms 12484 KiB
1_17.txt AC 7 ms 4644 KiB
1_18.txt AC 30 ms 14624 KiB
1_19.txt AC 30 ms 14428 KiB
1_20.txt AC 30 ms 14532 KiB
1_21.txt AC 31 ms 14588 KiB
1_22.txt AC 29 ms 14460 KiB
1_23.txt AC 29 ms 14476 KiB
1_24.txt AC 28 ms 14536 KiB
1_25.txt AC 29 ms 14588 KiB
1_26.txt AC 29 ms 14408 KiB
1_27.txt AC 28 ms 14440 KiB
1_28.txt AC 28 ms 14576 KiB
1_29.txt AC 29 ms 14768 KiB
1_30.txt AC 30 ms 14440 KiB
1_31.txt AC 29 ms 14316 KiB
1_32.txt AC 29 ms 14536 KiB
1_33.txt AC 29 ms 14660 KiB
1_34.txt AC 27 ms 12744 KiB
1_35.txt AC 22 ms 9796 KiB
1_36.txt AC 25 ms 11516 KiB
1_37.txt AC 29 ms 13696 KiB
1_38.txt AC 21 ms 8828 KiB
1_39.txt AC 20 ms 8168 KiB
1_40.txt AC 29 ms 14204 KiB
1_41.txt AC 28 ms 13892 KiB
1_42.txt AC 23 ms 10696 KiB
1_43.txt AC 23 ms 10056 KiB
1_44.txt AC 28 ms 13032 KiB
1_45.txt AC 18 ms 7624 KiB
1_46.txt AC 28 ms 13312 KiB
1_47.txt AC 29 ms 14024 KiB
1_48.txt AC 21 ms 9400 KiB
1_49.txt AC 24 ms 11332 KiB