Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- ifstream fin("lantz.in");
- ofstream fout("lantz.out");
- int n, m, A[105][105], x[105],l, ok;
- void afisare(int k)
- {
- ok=1;
- for(int i=1; i<=k; ++ i)
- fout<<x[i]<<" ";
- fout<<'\n';
- }
- int OK(int k)
- {
- if(k>1)
- if(A[x[k-1]][x[k]] != 1)
- return 0;
- for(int i=1; i<k ; ++i)
- if(x[k]==x[i])
- return 0;
- return 1;
- }
- bool verifica(int k)
- {
- return (k==l+1);
- }
- void Back(int k)
- {
- for(int i=1; i<=n; ++i)
- {
- x[k]=i;
- if(OK(k))
- {
- if(verifica(k))
- afisare(k);
- else
- Back(k + 1);
- }
- }
- }
- int main()
- {
- fin>>n>>m;
- int a, b;
- for(int i=1; i<=m; ++i)
- {
- fin>>a>>b;
- A[a][b]=A[b][a]=1;
- }
- fin>>l;
- Back(1);
- if(!ok)
- fout<<"NU EXISTA";
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement