제출 #301547

#제출 시각아이디문제언어결과실행 시간메모리
301547jwvg0425Connecting Supertrees (IOI20_supertrees)C++17
0 / 100
1 ms384 KiB
#include "supertrees.h"
#include <vector>

using namespace std;

int par[1005];

int find(int x)
{
	if (par[x] == x)
		return x;

	return par[x] = find(par[x]);
}

void merge(int x, int y)
{
	x = find(x);
	y = find(y);

	par[x] = y;
}

int construct(vector<vector<int>> p)
{
	int n = p.size();

	for (int i = 0; i < n; i++)
		par[i] = i;

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

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

			if (find(i) == find(j))
				continue;

			answer[i][j] = answer[j][i] = 1;
		}
	}

	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...