# Chuva (OBI 2019) ```cpp= #include<bits/stdc++.h> using namespace std; const int N = 505; char parede[N][N]; int n, m; void dfs(int x, int y) { if(x >= n or y >= m) return; if(parede[x][y] != '.') return; parede[x][y] = 'o'; if(parede[x+1][y] != '#') { dfs(x+1, y); } else { dfs(x, y+1); dfs(x, y-1); } } int main() { scanf("%d%d", &n, &m); for (int i = 0; i < n; i++) scanf("%s", parede[i]); cerr << n << ' ' << m << endl; int x = 0, y; for (int i = 0; i < m; i++) { if (parede[0][i] == 'o') y = i; } // Estou usando a prĂ³pria parede como visitado parede[x][y] = '.'; dfs(x, y); for (int i = 0; i < n; i++) { printf("%s\n", parede[i]); } } ```