제출 #1084737

#제출 시각아이디문제언어결과실행 시간메모리
1084737an22inkle슈퍼트리 잇기 (IOI20_supertrees)C++17
0 / 100
1 ms440 KiB
#include<bits/stdc++.h>
#include "supertrees.h"
using pair = std::array<int, 2>;
using ll = long long;

int construct(std::vector<std::vector<int>> p) {
	int n = p.size();
	std::vector<std::vector<int>> ans(n, std::vector<int>(n)), lines;
	std::vector<int> part(n, -1);

	for (int i = 0; i < n; i++) {
		for (int j = 0; j < n; j++) {
			if (i == j) continue;
			if (p[i][j] == 0) continue;
			if (part[i] > -1) lines[part[i]].push_back(j), part[j] = part[i];
			else if (part[j] > -1) lines[part[j]].push_back(i), part[i] = part[j];
			else {
				lines.push_back({});
				lines.back().push_back(i);
				lines.back().push_back(j);
				part[i] = part[j] = lines.size() - 1;
			}
		}
	}
	for (auto line : lines) {
		for (int i = 0; i < line.size(); i++) {
			for (int j = i+1; j < line.size(); j++) {
				if (p[line[i]][line[j]] == 0) return 0;
			}

			if (i != line.size() - 1) ans[line[i]][line[i+1]] = 1;
		} 
	}

	build(ans);
	return 1;
}

컴파일 시 표준 에러 (stderr) 메시지

supertrees.cpp: In function 'int construct(std::vector<std::vector<int> >)':
supertrees.cpp:26:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   26 |   for (int i = 0; i < line.size(); i++) {
      |                   ~~^~~~~~~~~~~~~
supertrees.cpp:27:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   27 |    for (int j = i+1; j < line.size(); j++) {
      |                      ~~^~~~~~~~~~~~~
supertrees.cpp:31:10: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   31 |    if (i != line.size() - 1) ans[line[i]][line[i+1]] = 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...