제출 #317116

#제출 시각아이디문제언어결과실행 시간메모리
317116amunduzbaev슈퍼트리 잇기 (IOI20_supertrees)C++14
0 / 100
1 ms256 KiB
//#include "grader.cpp" #include "supertrees.h" #include <bits/stdc++.h> using namespace std; int construct(vector<vector<int>> p) { int n = p.size(); vector<vector<int> > b(n); bool ok1=0, ok2=0, ok0=0; for(int i=0;i<n;i++){ b[i].resize(n); for(int j=0;j<n;j++){ b[i][j]=0; if(p[i][j] == 1) ok1=1; else if(p[i][j] == 2) ok2=1; else ok0 = 1; } } cout<<ok1<<" "<<ok2<<" "<<ok0<<"\n"; if(ok1 && !ok2 && !ok0){ for(int i=1;i<n;i++){ b[0][i] = 1; b[i][0] = 1; } build(b); return 1; } /* else if(ok1 && ok0 && !ok2){ int start; vector<int> v; for(int i=0;i<n;i++){ for(int j=i+1;j<n;j++){ if(p[i][j] == 1){ v.push_back(i); v.push_back(j); } } } start = v[0]; for(auto x:v){ b[start][x] = 1; b[x][start] = 1; } build(b); return 1; } else if(ok2&&ok0&&!ok1){ int start; vector<int> v; for(int i=0;i<n;i++){ for(int j=i+1;j<n;j++){ if(p[i][j] == 2){ v.push_back(i); v.push_back(j); } } } start = v[0]; for(auto x:v){ b[start][x] = 1; b[x][start] = 1; } b[v[v.size()-1]][start] = 1; b[start][v[v.size()-1]] = 1; build(b); return 1; } */ return 0; }
#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...