Submission #779704

# Submission time Handle Problem Language Result Execution time Memory
779704 2023-07-11T17:09:29 Z Malix Connecting Supertrees (IOI20_supertrees) C++14
11 / 100
181 ms 22156 KB
#include "supertrees.h"
#include <vector>

using namespace std;

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++;
			}
		}
	}

	//change this later
	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;
	}

	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*n){

		vector<int> arr(n, 0);

		for(int i = 0; i < n; i++){
			for(int j = 0; j < n; j++){
				answer[i][j] = 0;
			}
		}

		int currentIndex = 0;

		while(currentIndex != n){

			if(!arr[currentIndex]){
				for(int i = 0; i < n; i++){
					if(p[currentIndex][i]){
						if(arr[i]){
							return 0;
						}
						answer[currentIndex][i] = 1;
						answer[i][currentIndex] = 1;
						arr[i]++;

					}
				}
				arr[currentIndex] = 1;
			}

			
			currentIndex++;
		}
	
		
		for(int i = 0 ; i < n; i++){
			if(arr[i] > 1){
				return 0;
			}
		}
		
		

		for(int i = 0; i < n; i++){
			answer[i][i] = 0;
		}

		build(answer);
		return 1;
	}


	build(answer);
	return 1;
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 1 ms 340 KB Output is correct
3 Correct 1 ms 212 KB Output is correct
4 Correct 1 ms 288 KB Output is correct
5 Correct 0 ms 212 KB Output is correct
6 Correct 6 ms 1168 KB Output is correct
7 Correct 148 ms 22156 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 1 ms 340 KB Output is correct
3 Correct 1 ms 212 KB Output is correct
4 Correct 1 ms 288 KB Output is correct
5 Correct 0 ms 212 KB Output is correct
6 Correct 6 ms 1168 KB Output is correct
7 Correct 148 ms 22156 KB Output is correct
8 Correct 1 ms 284 KB Output is correct
9 Correct 0 ms 212 KB Output is correct
10 Correct 0 ms 288 KB Output is correct
11 Correct 0 ms 212 KB Output is correct
12 Correct 6 ms 1236 KB Output is correct
13 Correct 181 ms 22132 KB Output is correct
14 Incorrect 0 ms 212 KB Answer gives possible 1 while actual possible 0
15 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 288 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 0 ms 284 KB Output is correct
4 Incorrect 0 ms 212 KB Answer gives possible 1 while actual possible 0
5 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 284 KB Output is correct
2 Incorrect 1 ms 284 KB Too few ways to get from 0 to 1, should be 2 found 0
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 1 ms 340 KB Output is correct
3 Correct 1 ms 212 KB Output is correct
4 Correct 1 ms 288 KB Output is correct
5 Correct 0 ms 212 KB Output is correct
6 Correct 6 ms 1168 KB Output is correct
7 Correct 148 ms 22156 KB Output is correct
8 Correct 1 ms 284 KB Output is correct
9 Correct 0 ms 212 KB Output is correct
10 Correct 0 ms 288 KB Output is correct
11 Correct 0 ms 212 KB Output is correct
12 Correct 6 ms 1236 KB Output is correct
13 Correct 181 ms 22132 KB Output is correct
14 Incorrect 0 ms 212 KB Answer gives possible 1 while actual possible 0
15 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 1 ms 340 KB Output is correct
3 Correct 1 ms 212 KB Output is correct
4 Correct 1 ms 288 KB Output is correct
5 Correct 0 ms 212 KB Output is correct
6 Correct 6 ms 1168 KB Output is correct
7 Correct 148 ms 22156 KB Output is correct
8 Correct 1 ms 284 KB Output is correct
9 Correct 0 ms 212 KB Output is correct
10 Correct 0 ms 288 KB Output is correct
11 Correct 0 ms 212 KB Output is correct
12 Correct 6 ms 1236 KB Output is correct
13 Correct 181 ms 22132 KB Output is correct
14 Incorrect 0 ms 212 KB Answer gives possible 1 while actual possible 0
15 Halted 0 ms 0 KB -