Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<cstdio>
- #include<queue>
- using namespace std;
- int main()
- {
- pair<int, int> obecny;
- pair<int,int> lista;
- queue<pair<int, int> kolejka;
- int x, y, licznik = 0;
- scanf("%d %d", &x, &y);
- char labirynt[x][y];
- bool odwiedzone[x][y];
- for(int i = 0; i < x; i++)
- for(int j = 0; j < y; j++)
- odwiedzone[i][j] = false;
- for(int i = 0; i < x; i++)
- for(int j = 0; j < y; j++)
- if(labirynt[i][j] == 's')
- {
- kolejka.push(labirynt[i][j]);
- while(!kolejka.empty())
- {
- obecny = kolejka.front();
- kolejka.pop();
- odwiedzone[obecny] = true;
- for(int n = 0; n < x; n++)
- for(int m = 0; m < y; m++)
- {
- if(labirynt[x-1][y] == 'O' && odwiedzone[x+1][y] == false) { kolejka.push(labirynt[x-1][y]) odwiedzone[x-1][y] = true; }
- if(labirynt[x][y-1] == 'O' && odwiedzone[x+1][y] == false) { kolejka.push(labirynt[x][y-1]) odwiedzone[x][y-1] = true; }
- if(labirynt[x+1][y] == 'O' && odwiedzone[x+1][y] == false) { kolejka.push(labirynt[x+1][y]) odwiedzone[x+1][y] = true; }
- if(labirynt[x][y+1] == 'O' && odwiedzone[x+1][y] == false) { kolejka.push(labirynt[x][y+1]) odwiedzone[x][y+1] = true; }
- }
- licznik++;
- }
- if(licznik > 0)
- printf("Tak ", licznik);
- else
- printf("Brak drogi");
- break;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement