Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- using namespace std;
- ifstream fin("soarece1.in");
- ofstream fout("soarece2.out");
- int n, m, i, j, a[11][11], xs, ys, xb, yb, b[11][11];
- char c[11][11];
- int dx[4] = {0, 0, 1, -1};
- int dy[4] = {1, -1, 0, 0};
- void citire()
- {
- fin >> n >> m;
- for(i=1; i<=n; i++)
- for(j=1; j<=m; j++)
- {
- fin >> c[i][j];
- if(c[i][j] == 'S')
- xs = i, ys = j;
- else if(c[i][j] == 'B')
- xb = i, yb = j;
- }
- }
- void bordare()
- {
- int i;
- for(i=0; i<=m+1; i++)
- a[0][i] = a[m+1][1] = '#';
- for(i=0; i<= n+1; i++)
- a[i][0] = a[i][m+1] = '#';
- }
- void afisare()
- {
- int i, j;
- for(i=1; i<=n; i++)
- {
- for(j=1; j<=m; j++)
- fout << b[i][j] << " ";
- fout << endl;
- }
- }
- void bkt(int i, int j)
- {
- a[i][j] = '#';
- if(i == xb && j == yb)
- afisare();
- b[i][j] = 2;
- if(i == xs && j == ys)
- b[i][j] = 1;
- else for(int k = 0; k<4; k++)
- {
- if(a[i+dx[k]][j+dy[k]] == '_')
- bkt(i+dx[k], j+dy[k]);
- b[i][j] = 0;
- a[i][j] = '_';
- }
- }
- int main()
- {
- citire();
- bordare();
- bkt(xs, ys);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement