제출 #997548

#제출 시각아이디문제언어결과실행 시간메모리
997548Warinchai9월 (APIO24_september)C++17
59 / 100
114 ms47816 KiB
#include "september.h" #include<bits/stdc++.h> using namespace std; int rem=0; struct tree{ vector<int>adj[100005]; int vis[100005]; void dfs_add(int u,int p=-1){ if(vis[u])return; rem++; vis[u]=1; for(auto v:adj[u])dfs_add(v,u); } void remove(int u){ rem--; } void clear(int n){ for(int i=0;i<n;i++)adj[i].clear(),vis[i]=0; } }tr[10]; int solve(int N, int M, vector<int> F, vector<vector<int>> S) { rem=0; for(int i=0;i<M;i++){ for(int j=1;j<N;j++){ tr[i].adj[F[j]].push_back(j); } } int ans=0; for(int i=0;i<N-1;i++){ for(int j=0;j<M;j++){ tr[j].dfs_add(S[j][i]); tr[j].remove(S[j][i]); } if(rem==0)ans++; } for(int i=0;i<M;i++)tr[i].clear(N); 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...