제출 #1365329

#제출 시각아이디문제언어결과실행 시간메모리
1365329mrasool16659월 (APIO24_september)C++20
0 / 100
1 ms344 KiB
#include "september.h"
#include <bits/stdc++.h>
using namespace std;
#define F first
#define S second
#define pb push_back
const int N = 1e5 + 5, M = 5;

int n, m, cnt[M];
vector<int> child[N];
bool seen[N];

void dfs(int v) {
	if (seen[v]) return;
	seen[v] = true;
	for (int i = 0; i < m; i++) {
		cnt[i]++;
	}
	for (auto u : child[v]) {
		if (!seen[u]) {
			dfs(u);
		}
	}
}

int solve(int _N, int _M, std::vector<int> F, std::vector<std::vector<int>> S) {
	n = _N, m = _M;
	int ans = 0;
	for (int i = 0; i < n; i++) {
		child[i].clear();
		seen[i] = false;
	}
	for (int i = 0; i < n; i++) {
		if (i) child[F[i]].pb(i);
	}
	for (int i = n - 1; i > 0; i--) {
		bool is = 1;
		for (int j = 0; j < m; j++) {
			is &= (cnt[j] == 0);
		}
		if (is) ans++;
		for (int j = 0; j < m; j++) {
			dfs(S[j][i - 1]);
			cnt[j]--;			
		}
	}
	return ans;
}
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…