Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //c++11
- #include<cstdio>
- #include<algorithm>
- #include<iostream>
- #include<cstdlib>
- #include<cassert>
- #include<stack>
- #include<cstring>
- #include<vector>
- #include<string>
- #include<cmath>
- #include<ctime>
- #include<set>
- #include<map>
- #include<queue>
- #include<fstream>
- #include<sstream>
- #include<iomanip>
- #include<complex>
- #define mp make_pair
- #define X first
- #define Y second
- #define pb push_back
- using namespace std;
- typedef long long ll;
- typedef long double ld;
- typedef pair<int, int> pii;
- const ll MOD = 1e9 + 7;
- const double eps = 1e-7;
- const int maxN = 5e6 + 10;
- const int maxL = 45;
- const int inf = 1e9 + 10;
- bool adj[15][15];
- vector <int> P;
- int n, m;
- inline bool call()
- {
- if (!adj[P[0]][P.back()]) return false;
- for (int i = 1; i < P.size(); i++)
- {
- if (!adj[P[i]][P[i - 1]]) return false;
- }
- return true;
- }
- inline void init()
- {
- cin >> n >> m;
- for (int i = 0, a, b; i < m; i++)
- {
- cin >> a >> b; a--; b--;
- adj[a][b] = 1;
- adj[b][a] = 1;
- }
- for (int i = 0; i < n; i++)
- P.pb(i);
- }
- inline void solve()
- {
- bool res = call();
- while (!res && next_permutation(P.begin(), P.end()))
- res = call();
- if (res)
- for (int i = 0; i < n; i++)
- cout << P[i] << " ";
- else cout << "NOT FOUND!";
- cout << endl;
- }
- int main()
- {
- //freopen("a.in", "r", stdin);
- //freopen("a.out", "w", stdout);
- ios_base::sync_with_stdio(0); cin.tie(); cout.tie();
- init();
- solve();
- //system("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement