Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <vector>
- using namespace std;
- vector <vector <char> > m;
- vector <vector <bool> > visitado;
- int ancho, alto;
- int x[] = {1, 0, -1, 0};
- int y[] = {0, 1, 0, -1};
- bool esValido(int a, int b) ///checkea si la posición es una celda de la matriz
- {
- return (0 <= a && a < alto && 0 <= b && b < ancho);
- }
- void floodfill(int a, int b)
- {
- visitado[a][b] = true; ///importante marcar como visitado
- for(int i=0; i<4; i++)
- {
- int a2 = a+x[i];
- int b2 = b+y[i];
- ///a2,b2 es una celda vecina de a,b
- if(esValido(a2, b2) && visitado[a2][b2] == false && m[a2][b2] == '_')
- floodfill(a2, b2);
- }
- }
- int main()
- {
- cin >> alto >> ancho;
- m = vector <vector <char> > (alto, vector <char> (ancho));
- visitado = vector <vector <bool> > (alto, vector <bool> (ancho, false));
- for(int i=0; i<alto; i++)
- for(int j=0; j<ancho; j++)
- cin >> m[i][j];
- floodfill(2, 3);
- ///Hago algo para resolver el problema, blablabla
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment