제출 #1160095

#제출 시각아이디문제언어결과실행 시간메모리
1160095kiwimsySeptember (APIO24_september)C++20
0 / 100
1 ms580 KiB
#include "september.h" #include <bits/stdc++.h> using namespace std; vector<vector<int>> ch; vector<bool> vis, passed; queue<int> q; void dfs(int node){ vis[node] = true; for(int i : ch[node]){ if(!vis[i]) dfs(i); } q.push(node); } int solve(int N, int M, vector<int> F, vector<vector<int>> S) { ch.resize(N+5); int k, ans = N; for(int i = 1; i < N; ++i){ ch[F[i]].push_back(i); } for(int i = 0; i < M; ++i){ k = 0; vis.assign(N+5, false); passed.assign(N+5, false); while(!q.empty()) q.pop(); for(int j = 0; j < N-1; ++j){ passed[S[i][j]] = true; if(!vis[S[i][j]]) dfs(S[i][j]); while(!q.empty() && passed[q.front()]) q.pop(); if(q.empty()) k++; } ans = min(ans, k); } return ans; }
#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...