제출 #1064541

#제출 시각아이디문제언어결과실행 시간메모리
1064541Shadow19월 (APIO24_september)C++17
45 / 100
305 ms24160 KiB
#include "september.h"

#include <bits/stdc++.h>
using namespace std;

#define output_vector(v) for(auto &x : v){cout << x << ' ';}cout << '\n';
#define show(x) cerr << (#x) << " = " << (x) << '\n';



int solve(int N, int M, std::vector<int> F, std::vector<std::vector<int>> S) {
	int ans = N;
	vector<vector<int>> child(N);
	for(int i=1; i<N; ++i) {
		child[F[i]].push_back(i);
	}
	for(int i=0; i<M; ++i) {
		int cnt = 0;
		set<int> cur;
		vector<set<int>> c(N);
		for(int j=0; j<N; ++j) {
			for(auto &k : child[j])
				c[j].insert(k);
		}
		for(int j=0; j<N-1; ++j) {
			int k = S[i][j];
			cur.insert(k);
			while(k > 0 && cur.count(k) && c[k].empty()) {
				cur.erase(k);
				c[F[k]].erase(k);
				k = F[k];
			}
			cnt += (cur.empty());
		}
		ans = min(ans, cnt);
	}
	return ans;
}


// void taskcase() {
// 	int N, M;
// 	assert(2 == scanf("%d%d", &N, &M));
	
// 	std::vector<int> F(N);
// 	F[0] = -1;
// 	for (int i = 1; i < N; ++i)
//   		assert(1 == scanf("%d", &F[i]));
	
// 	std::vector<std::vector<int>> S(M, std::vector<int>(N - 1));
// 	for (int i = 0; i < M; ++i)
// 		for (int j = 0; j < N - 1; ++j)
//   			assert(1 == scanf("%d", &S[i][j]));
  	
// 	printf("%d\n", solve(N, M, F, S));
// }

// int main() {
// 	int T;
// 	assert(1 == scanf("%d", &T));
// 	while(T--) taskcase();
// 	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...