Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- #include<cstdlib>
- using namespace std;
- ifstream f("ciclu.in");
- ofstream g("ciclu.out");
- int n,a[101][101],d[201], k,m,use[101],v[101],p,q,r;
- bool ciclu(int d[],int k)
- {
- for(int i=1; i<k; i++)
- if(a[d[i]][d[i+1]]==0)
- return 0;
- return 1;
- }
- bool elementar(int d[],int k)
- { for(int i=1;i<=n;i++)
- for(int i=1; i<k; i++)
- for(int j=i+1; j<=k; j++)
- if(d[i]==d[j])
- return 0;
- return 1;
- }
- void afisare(int k)
- { if(use[p])
- {for(int i=1;i<=k;i++)
- g<<v[i]<<" ";
- g<<'\n';
- exit(0);
- }
- }
- void Bkt(int x,int k)
- {
- for(int i=1;i<=n;i++)
- {if(a[x][i]&& !use[i])
- {v[k]=i;
- use[i]=1;
- if(i==p && k>3)
- afisare(k);
- else Bkt(i,k+1);
- use[i]=0;
- }}
- }
- int main()
- { int i,j,x,y;
- f>>n>>m;
- for(i=1; i<=m; i++)
- {
- f>>x>>y;
- a[x][y]=a[y][x]=1;
- }
- f>>p;
- v[1]=p;
- Bkt(p,2);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement