# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
790178 | 2023-07-22T11:47:41 Z | Andrey | 슈퍼트리 잇기 (IOI20_supertrees) | C++14 | 1 ms | 212 KB |
#include "supertrees.h" #include <vector> #include<bits/stdc++.h> using namespace std; vector<vector<int>> ans(0); vector<vector<int>> haha(0); vector<bool> bruh(3001,true); int n; vector<int> col(3000,-1); void dfs(int a, int c) { col[a] = c; if(a != c) { ans[a][c] = 1; ans[c][a] = 1; } for(int i = 0; i < n; i++) { if(col[i] == -1 && haha[a][i] == 1) { dfs(haha[a][i],c); } } } int construct(vector<vector<int>> p) { n = p[0].size(); haha = p; vector<int> wut(0); for(int i = 0; i < n; i++) { ans.push_back(vector<int> (n)); } for(int i = 0; i < n; i++) { if(col[i] == -1) { dfs(i,i); wut.push_back(i); } } for(int i = 0; i < wut.size(); i++) { vector<int> wow(0); wow.push_back(wut[i]); for(int j = 0; j < wut.size(); j++) { if(haha[wut[i]][wut[j]] == 2 && bruh[j]) { bruh[j] = false; wow.push_back(wut[j]); } } for(int j = 0; j < wow.size(); j++) { ans[wow[j]][wow[(j+1)%(int)wow.size()]] = 1; ans[wow[(j+1)%(int)wow.size()]][wow[j]] = 1; } } build(ans); return 1; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 212 KB | b[0][0] is not 0 |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 212 KB | b[0][0] is not 0 |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 212 KB | b[0][0] is not 0 |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 212 KB | b[0][0] is not 0 |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 212 KB | b[0][0] is not 0 |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 212 KB | b[0][0] is not 0 |
2 | Halted | 0 ms | 0 KB | - |