Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- using namespace std;
- int n,m,lab[11][11],s[11][11],is,js,ib,jb;
- int di[]={0,-1,1,0,0};
- int dj[]={0,0,0,1,-1};
- ifstream f("labirint.in");
- ofstream g("labirint.out");
- void citire()
- {
- int i,j;
- f>>n>>m;
- for(i=1;i<=n;i++)
- for(j=1;j<=m;j++)
- f>>lab[i][j];
- f>>is>>js>>ib>>jb;
- f.close();
- }
- void afisare()
- {
- int i,j;
- for(i=1;i<=n;i++)
- {
- for(j=1;j<=m;j++)
- g<<s[i][j]<<" ";
- g<<endl;
- }
- g<<"-----------------------"<<endl;
- }
- void traseu(int i,int j,int pas)
- {
- int i1,j1,k;
- for(k=1;k<=4;k++)
- {
- i1=i+di[k];
- j1=j+dj[k];
- if(i1>=1 &&i1<=n &&j1 >=1 && j1<=m)
- if(lab[i1][j1]==0 && s[i1][j1]==0)
- {
- s[i1][j1]=pas;
- if(i1==ib && j1==jb)
- afisare();
- else
- traseu(i1,j1,pas+1);
- s[i1][j1]=0;
- }
- }
- }
- int main()
- {
- citire();
- s[is][js]=1;
- traseu(is,js,2);
- g.close();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement