제출 #623469

#제출 시각아이디문제언어결과실행 시간메모리
623469Jomnoi식물 비교 (IOI20_plants)C++17
0 / 100
4 ms5020 KiB
#include <bits/stdc++.h>
#include "plants.h"
using namespace std;

const int MAX_N = 2e5 + 5;

int N, K;
vector <int> R;
int indegree[MAX_N];
vector <int> graph[MAX_N];
int pos[MAX_N];

void dfs(int u, int p) {
	pos[u] = p;
	for(auto v : graph[u]) {
		dfs(v, p + 1);
	}
}

void init(int k, vector <int> r) {
	K = k, R = r, N = R.size();
	for(int i = 0; i < N; i++) {
		if(R[i] == 0) {
			graph[i + 1].push_back(i);
			indegree[i]++;
		}
		else {
			graph[i].push_back(i + 1);
			indegree[i + 1]++;
		}
	}

	for(int i = 0; i < N; i++) {
		if(indegree[i] == 0) {
			dfs(i, 0);
		}
	}
}

int compare_plants(int x, int y) {
	if(pos[x] > pos[y]) {
		return 1;
	}
	if(pos[x] < pos[y]) {
		return -1;
	}
	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...