제출 #823072

#제출 시각아이디문제언어결과실행 시간메모리
823072Sohsoh84Connecting Supertrees (IOI20_supertrees)C++17
21 / 100
177 ms22448 KiB
#include "supertrees.h"
#include <bits/stdc++.h>

using namespace std;

const int MAXN = 1e5 + 10;

int f[MAXN];

int construct(vector<vector<int>> p) {
	int n = p.size();
	vector<vector<int>> answer;
	for (int i = 0; i < n; i++) {
		vector<int> row;
		row.resize(n, 0);
		answer.push_back(row);
	}

	for (int i = 1; i < n; i++) {
		int lst = i;
		for (int j = 0; j < i; j++)
			if (p[i][j])
				if (lst == i) lst = j;

		f[i] = i;
		f[i] = f[lst];

		if (lst < i) answer[i][lst] = answer[lst][i] = 1;
	}

	for (int i = 0; i < n; i++)
		for (int j = i + 1; j < n; j++)
			if (p[i][j] ^ (f[i] == f[j]))
				return 0;

	build(answer);
	return 1;
}
#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...