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("soarece1.in");
- ofstream g("soarece1.out");
- int a[101][101],n,m,i1,j1,i2,j2,s;
- int d[4]= {-1,0,1,0}, dc[4]= {0,1,0,-1};
- void afisare()
- {
- for(int i=1;i<=n;i++)
- {
- for(int j=1;j<=m;j++)
- if(a[i][j]!=-1)
- g<<a[i][j]<<' ';
- else
- g<<0<<' ';
- g<<'\n';
- }
- exit(EXIT_SUCCESS);
- }
- void bkt(int k, int l, int c)
- {
- for(int i=0; i<4; i++)
- {
- int x=l+d[i], y=c+dc[i];
- if(x>0 && x<=n && y>0 && y<=m && a[x][y]==0)
- {
- a[x][y]=k;
- if(x==i2&&y==j2)
- afisare();
- else
- bkt(k+1,x,y);
- a[x][y]=0;
- }
- }
- }
- int main()
- {
- f>>n>>m;
- char c;
- for(int i=1; i<=n; i++)
- for(int j=1; j<=m; j++)
- {
- f>>c;
- if(c=='#')
- a[i][j]=-1;
- else
- if(c=='_')a[i][j]=0;
- else
- if(c=='S')a[i][j]=0,i1=i,j1=j;
- else
- if(c=='B')a[i][j]=0,i2=i,j2=j;
- }
- a[i1][j1]=1;
- bkt(2,i1,j1);
- for(int i=1;i<=n;i++)
- {for(int j=1;j<=m;j++)
- g<<0<<' ';
- g<<'\n';}
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement