Submission #760837

#TimeUsernameProblemLanguageResultExecution timeMemory
760837a_aguiloPotemkin cycle (CEOI15_indcyc)C++14
10 / 100
1081 ms4600 KiB
#include<bits/stdc++.h> using namespace std; vector<vector<int>> AdjMatrix; vector<int> component; int numNodes, numEdges, N, R; void outputCompt(int node, int prev, int start){ cout << node+1 << " "; for(int other: component){ if(other == node) continue; if(other == start) continue; if(other == prev) continue; if(AdjMatrix[node][other] == 0) { //cout << node << "-> " << other << endl; outputCompt(other, node, start); return; } } } int main(){ int a, b; cin >> N >> R; AdjMatrix = vector<vector<int>> (N, vector<int>(N, 1)); int sol = -1; int first = -1; for(int i = 0; i < R; ++i){ cin >> a >> b; a--; b--; AdjMatrix[a][b] = AdjMatrix[b][a] = 0; } for(int mask = 1; (mask < (1 << N)) and (sol == -1); ++mask){ numEdges = 0; numNodes = __builtin_popcount(mask); if(numNodes > 3){ bool possible = true; for(int i = 0; i < N; ++i){ if(mask & (1 << i)){ int cnt = 0; for(int j = 0; j < N; ++j){ if(i == j) continue; //cout << mask << " " << i <<" " << j << endl; if(mask & (1 << j))cnt+= AdjMatrix[i][j]; } if(cnt != numNodes-3) possible = false; } } if(possible) sol = mask; } } if(sol == -1) cout << sol << endl; else{ //cout << sol << endl; for(int i = 0; i < N; ++i){ if(sol & (1 << i)) { component.push_back(i); //cout << i << endl; first = i; } } outputCompt(first, -1, first); cout << endl; } 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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...