Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- bool a[30005][30005],s[30005];
- int n,st[30005],ic;
- void citire()
- {
- int x,y;
- cin>>n;
- for (int i=1;i<=n;i++)
- {
- cin>>x>>y;
- a[x][y]=a[y][x]=1;
- }
- }
- bool solutie(int k)
- {
- for (int i=1;i<=n;i++)
- if (a[st[k]][i] && s[i] && i!=st[k-1])
- {
- ic=i;
- return true;
- }
- return false;
- }
- void afisare(int k)
- {
- for (int i=k;i>=0;i++)
- if (st[i]==ic)
- cout<<k-i;
- }
- void bck(int k)
- {
- for (int i=1;i<=n;i++)
- {
- st[k]=i;
- if (a[st[k-1]][i] && !s[i])
- {
- s[i]=1;
- if (solutie(k))
- afisare(k);
- else
- bck(k+1);
- }
- }
- }
- int main()
- {
- citire();
- st[1]=1;
- bck(2);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement