제출 #1332942

#제출 시각아이디문제언어결과실행 시간메모리
1332942edo9월 (APIO24_september)C++20
45 / 100
99 ms7600 KiB
#include <bits/stdc++.h>

using namespace std;
using ll = long long;

#include "september.h"
const int nax = 1e5;
bool vis[nax + 10];
vector<int> g[nax];
int cnt;

void dfs(int u) {
    if(vis[u]) return;
    vis[u] = 1;
    cnt++;
    for(int v : g[u]) {
        dfs(v);
    }
}

int solve(int N, int M, vector<int> F, vector<vector<int>> S) {
    for(int i = 0; i < N + 2; i++) {
        vis[i] = 0;
        g[i].clear();
    }
    for(int i = 1; i < N; i++) {
        g[F[i]].push_back(i);
    }
    cnt = 0;
    int ans = 0;
    for(int i = 0; i < N - 1; i++) {
        for(int j = 0; j < M; j++) {
            dfs(S[j][i]);
            if(!--cnt) ans+=1;
        }
    }

    return ans;
}

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

//     // cout << solve(5, 2, {-1, 0, 0, 1, 1}, {{1, 2, 3, 4}, {4, 1, 2, 3}}) << "\n";
//     // cout << solve(3, 1, {-1, 0, 0}, {{1, 2}}) << "\n";

//     return 0;
// }

#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...