Advertisement
Guest User

Untitled

a guest
Apr 19th, 2018
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.73 KB | None | 0 0
  1. #include<iostream>
  2. using namespace std;
  3. bool trova(bool* N, int m, int i, int j)
  4. {
  5. if (i<m)
  6. {
  7. return ((N[(i*m)+j]==true) && ((trova(N,m,i+1,j)) || (trova(N, m, i+1, j+1)) || (trova(N, m, i+1, j-1))));
  8. }
  9. return true;
  10. }
  11.  
  12. bool partenza(bool*N, int m, int i)
  13. {
  14. if (i==m)
  15. {
  16. return false;
  17. }
  18. bool x=false;
  19. x=((N[i]==true) && ((trova(N,m,1,i)) || (trova(N, m, 1, i+1)) || (trova(N, m, 1, i-1))));
  20.  
  21. return x || partenza(N, m, i+1);
  22. }
  23.  
  24. main()
  25. {
  26. int m;
  27. bool N[400];
  28. cin>>m;
  29. cout<<"start"<<endl;
  30. for(int i=0; i<m*m;i++)
  31. cin>>N[i];
  32. if(partenza(N,m,0))
  33. cout<<"c'e' un cammino"<<endl;
  34. else
  35. cout<<"non c'e' un cammino"<<endl;
  36. cout<<"end"<<endl;
  37. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement