제출 #1068759

#제출 시각아이디문제언어결과실행 시간메모리
1068759PagodePaivaConnecting Supertrees (IOI20_supertrees)C++17
21 / 100
128 ms28084 KiB
#include "supertrees.h" #include<bits/stdc++.h> using namespace std; const int N = 1010; int res[N][N]; int pai[N]; 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); } build(answer); */ memset(pai, -1, sizeof pai); int n = p.size(); for(int i = 0;i < n;i++){ if(pai[i] == -1) pai[i] = i; else continue; for(int j = 0;j < n;j++){ if(i == j) continue; if(pai[j] != -1) continue; if(p[i][j] == 1) pai[j] = i; } } for(int i = 0;i < n;i++){ res[i][pai[i]] = res[pai[i]][i] = 1; res[i][i] = 0; for(int j = 0;j < n;j++){ if((pai[i] == pai[j]) != (p[i][j])){ return 0; } } } vector <vector <int>> answer; for(int i = 0;i < n;i++){ vector <int> aux; for(int j = 0;j < n;j++){ aux.push_back(res[i][j]); } answer.push_back(aux); } 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...