Submission #1160221

#TimeUsernameProblemLanguageResultExecution timeMemory
1160221lpostropheSeptember (APIO24_september)C++20
100 / 100
149 ms14548 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long #define PB push_back #define MP make_pair #define fi first #define se second int vertices; vector<set<int>> adj; vector<bool> visited; void dfs(int x){ if(!visited[x]){ visited[x]=true; vertices+=1; for(auto y:adj[x]){ dfs(y); } } } int solve(int n, int m, vector<int> f, vector<vector<int>>s){ adj.clear(); visited.resize(n); fill(visited.begin(), visited.end(), false); adj.resize(n); for(int i=1; i<n; i++){ adj[f[i]].insert(i); } vertices=0; int ans=0; for(int i=0; i<n-1; i++){ for(int j=0; j<m; j++){ dfs(s[j][i]); } if(vertices==i+1){ ans+=1; } } return ans; } // int main(){ // cout<<solve(3, 1, {-1, 0, 0}, {{1, 2}}); // }
#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...