#include <bits/stdc++.h>
using namespace std;
int n, m;
vector<int> way[1004];
int chk[1004], ss, from[1004], did[1004], didN;
void bfs(int s, int e){
queue<int> que;
que.push(s);
did[s] = didN;
while(!que.empty()){
int now = que.front(); que.pop();
for(auto&nxt:way[now]){
if((nxt != e && !chk[nxt]) || did[nxt] == didN) continue;
from[nxt] = now;
que.push(nxt);
did[nxt] = didN;
}
}
if(did[e] == didN){
int now = e;
while(true){
cout << now << ' ';
if(now == s) break;
now = from[now];
}
cout << ss << '\n';
exit(0);
}
}
signed main(){
ios_base::sync_with_stdio(false);
cin.tie(0);
cin >> n >> m;
assert(n <= 10 && m <= 45);
map<pair<int, int>, int> cant;
for(int i = 1; i <= m; ++i){
int x, y; cin >> x >> y;
way[x].push_back(y);
way[y].push_back(x);
cant[{x, y}] = cant[{y, x}] = 1;
}
for(int i = 1; i <= n; ++i) chk[i] = 1;
for(int i = 1; i <= n; ++i){
chk[i] = 0;
sort(way[i].begin(), way[i].end());
reverse(way[i].begin(), way[i].end());
for(auto&nxt:way[i]){
chk[nxt] = 0;
}
ss = i;
for(int j = 0; j < (int)way[i].size(); ++j){
for(int k = j + 1; k < (int)way[i].size(); ++k){
if(cant[{way[i][j], way[i][k]}]) continue;
++didN;
bfs(way[i][j], way[i][k]);
}
}
chk[i] = 1;
for(auto&nxt:way[i]){
chk[nxt] = 1;
}
}
cout << "no\n";
return 0;
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
0 ms |
340 KB |
Output is correct |
2 |
Correct |
1 ms |
340 KB |
Output is correct |
3 |
Correct |
1 ms |
340 KB |
Output is correct |
4 |
Correct |
0 ms |
340 KB |
Output is correct |
5 |
Correct |
0 ms |
340 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
0 ms |
340 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
340 KB |
Output is correct |
2 |
Correct |
1 ms |
340 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Runtime error |
1 ms |
468 KB |
Execution killed with signal 6 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Runtime error |
1 ms |
468 KB |
Execution killed with signal 6 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Runtime error |
1 ms |
468 KB |
Execution killed with signal 6 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Runtime error |
1 ms |
468 KB |
Execution killed with signal 6 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Runtime error |
1 ms |
468 KB |
Execution killed with signal 6 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Runtime error |
1 ms |
468 KB |
Execution killed with signal 6 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Runtime error |
1 ms |
468 KB |
Execution killed with signal 6 |
2 |
Halted |
0 ms |
0 KB |
- |