Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //GAMILTONOV
- #include <bits/stdc++.h>
- #define pb push_back
- #define ll long long
- #define F first
- #define S second
- #define ld long double
- #define endl "\n"
- using namespace std;
- int n, m, g[100][100], st[1000], x, y;
- bool p[1000];
- void dfsg (int k)
- {
- int v=st[k-1];
- for (int i = 0; i < n; ++i){
- if (g[v][i] == 1) { if (i == 1 && k == n+1)
- {
- st[k]=1;
- for (int j = 0; j < k; ++j){
- cout << st[j] << ' ';
- }
- cout << endl;
- }
- else if ( p[i] == true ) { p[i]=false; st[k]=i; dfsg(k+1); p[i]=true; }
- }
- }
- }
- int main()
- {
- cin >> n >> m;
- for (int i = 0; i < m; ++i){
- cin >> x >> y;
- g[x][y]=1;
- }
- for (int i = 0; i < n; ++i){
- p[i]=true;
- }
- st[1]=1; p[1]=false;
- dfsg(2);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement