Submission #779605

#TimeUsernameProblemLanguageResultExecution timeMemory
779605MalixConnecting Supertrees (IOI20_supertrees)C++14
11 / 100
140 ms23964 KiB
#include "supertrees.h"
#include <vector>

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

	if(n==1){
		answer[0][0] = 0;
		build(answer);
		return 1;
	}

	int count = 0;
	for(int i = 0; i < n; i++){
		for(int j = 0; j < n; j++){
			if(p[i][j] == 1){
				count++;
			}
		}
	}
	if(count == n){
		for(int i = 0; i < n; i++){
			for(int j = 0; j < n; j++){
				answer[i][j] = 0;
			}
		}
		build(answer);
		return 1;
	}
	else if(count == n*n){
		for(int i = 0; i < n; i++){
			for(int j = 0; j < n; j++){
				answer[i][j] = 0;
			}
		}
		for(int i = 1; i < n; i++){
			answer[i][0] = 1;
			answer[0][i] = 1;
		}
		build(answer);
		return 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...