This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#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 time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |