Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- using namespace std;
- bool trova(bool* N, int m, int i, int j)
- {
- if (i<m)
- {
- 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))));
- }
- return true;
- }
- bool partenza(bool*N, int m, int i)
- {
- if (i==m)
- {
- return false;
- }
- bool x=false;
- x=((N[i]==true) && ((trova(N,m,1,i)) || (trova(N, m, 1, i+1)) || (trova(N, m, 1, i-1))));
- return x || partenza(N, m, i+1);
- }
- main()
- {
- int m;
- bool N[400];
- cin>>m;
- cout<<"start"<<endl;
- for(int i=0; i<m*m;i++)
- cin>>N[i];
- if(partenza(N,m,0))
- cout<<"c'e' un cammino"<<endl;
- else
- cout<<"non c'e' un cammino"<<endl;
- cout<<"end"<<endl;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement