제출 #1089720

#제출 시각아이디문제언어결과실행 시간메모리
1089720Error_Yuan9월 (APIO24_september)C++17
59 / 100
118 ms9724 KiB
#include "september.h" #include <bits/stdc++.h> #include <vector> using namespace std; int solve(int N, int M, std::vector<int> F, std::vector<std::vector<int>> S) { vector<int> D(N); vector<int> vis(N), cur; for (int i = 1; i < N; i++) D[F[i]]++; int k = 0, cnt = 0, del = 0; for (int i = 0; i < N - 1; i++) { bool flag = false; for (int j = 0; j < M; j++) { vis[S[j][i]]++; cur.push_back(S[j][i]); if (j == M - 1) { if (vis[S[j][i]] != M) flag = true; cnt++; } if (vis[S[j][i]] == 1) { int now = S[j][i]; while (now != -1 && D[now] == 0 && vis[now] >= 1) { D[F[now]]--; del++; now = F[now]; } } } if (flag || cnt != del) continue; k++; for (auto x : cur) vis[x] = 0; cur.clear(); } return k; }
#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...