Submission #1294147

#TimeUsernameProblemLanguageResultExecution timeMemory
1294147krzyskaPaths (BOI18_paths)C++20
23 / 100
3095 ms4248 KiB
#include <bits/stdc++.h>
using namespace std;
int n, k;
int kolor[300005];
bool odw[300005];
vector<int> graf[300005];
unsigned long long wyn{};

void brut_force(int v, bitset<5> szet) {
    szet[kolor[v] - 1] = 1;
    if (szet[0] + szet[1] + szet[2] + szet[3] + szet[4] > 1) {
        wyn++;
    }

    for (auto i:graf[v]) {
        if (!szet[kolor[i] - 1]) {
            brut_force(i, szet);
        }
    }
}

int main() {
    ios_base::sync_with_stdio(0);
    cin.tie(0);

    int m, a, b;
    cin >> n >> m >> k;

    for (int i = 1; i <= n; i++) {
        cin >> kolor[i];
    }

    for (int i = 1; i <= m; i++) {
        cin >> a >> b;
        graf[a].push_back(b);
        graf[b].push_back(a);
    }

    for (int i = 1; i <= n; i++) {
        bitset<5> szit;
        for (int j = 0; j < 5; j++) {
            szit[j] = 0;
        }
        brut_force(i, szit);
    }

    cout << wyn;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...