제출 #1151251

#제출 시각아이디문제언어결과실행 시간메모리
1151251tapilyoca9월 (APIO24_september)C++20
0 / 100
1096 ms18168 KiB
/*********************************************** * auth: tapilyoca * * date: 02/16/2025 at 20:02:38 * * dots: https://github.com/tapilyoca/dotilyoca * ***********************************************/ #include <bits/stdc++.h> using namespace std; using ll = long long; using vll = vector<ll>; /***********************************************/ void DFS(int curr, vector<bool> &vis, unordered_set<int> &wait, vector<vector<int>> adj){ vis[curr] = 1; wait.insert(curr); if(adj[curr].size() == 0){ return; } for(int c : adj[curr]){ DFS(c, vis, wait, adj); } } int solve(int N, int M, vector<int> F, vector<vector<int>> S){ vector<vector<int>> kids(N+1); for(int i = 1; i < N; i++){ kids[F[i]].push_back(i); } vector<bool> vis(N+1, 0); unordered_set<int> waiting; vector<int> freq(N,0); int ans = 0; for(int i = 0; i < N-1; i++){ for(int j = 0; j < M; j++){ int at = S[j][i]; waiting.insert(at); freq[at]++; if(!vis[at]){ // then we haven't touched this yet // so set all of the children to be visited DFS(at,vis,waiting,kids); } vis[at] = 1; if(freq[at] == M){ waiting.erase(at); } } if(waiting.size() == 0){ ans++; } } return ans; } // int main(){ // ios::sync_with_stdio(false); // cin.tie(NULL); // int t = 1; // // cin >> t; // int n, m; // cin >> n >> m; // vector<int> a(n,0); // for(int i = 0; i < n; i++){ // cin >> a[i]; // } // vector<vector<int>> b; // for(int i = 0; i < m; i++){ // vector<int> c(n-1,0); // for(int j = 0; j < n-1; j++) cin >> c[j]; // b.push_back(c); // } // while(t--){ // // cerr << "here" << endl; // cout << solve(n, m, a, b) << endl; // } // 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...