that_one_nigga_you_k

goteira

Nov 16th, 2023
145
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.55 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3. int main()
  4. {
  5.     int altura, largura;
  6.     int encontro = 1; // Inicialize encontro com 1
  7.     scanf("%d %d", &altura, &largura);
  8.     char parede[altura][largura];
  9.  
  10.     // Ler a entrada
  11.     for (int i = 0; i < altura; i++)
  12.         for (int j = 0; j < largura; j++)
  13.         {
  14.             scanf(" %c", &parede[i][j]);
  15.         }
  16.  
  17.     // Simula��o do trajeto da �gua
  18.     while (encontro)
  19.     {
  20.         encontro = 0;
  21.         for (int i1 = 0; i1 < altura; i1++)
  22.             for (int j1 = 0; j1 < largura; j1++)
  23.                 //desenhando a descida e o contorno da �gua, verificando se embaixo, na diagonal esquerda ou direita tem alguma parede
  24.                 if ((parede[i1 - 1][j1] == 'o' && parede[i1][j1] != '#' && i1 - 1 > -1) ||
  25.                     (parede[i1][j1 + 1] == 'o' && parede[i1 + 1][j1 + 1] == '#' && j1 + 1 < largura && i1 + 1 < altura) ||
  26.                     (parede[i1][j1 - 1] == 'o' && parede[i1 + 1][j1 - 1] == '#' && i1 + 1 < altura && j1 - 1 > -1))
  27.                 {
  28.                     if (parede[i1][j1] == '.')
  29.                     {
  30.                         //se n�o tem nenhuma parede embaixo ou se tem nas diagonais, ent�o � �gua embaixo
  31.                         parede[i1][j1] = 'o';
  32.                         encontro = 1;
  33.                     }
  34.                 }
  35.     }
  36.  
  37.     // Imprimir resultado
  38.     for (int i = 0; i < altura; i++)
  39.     {
  40.         for (int j = 0; j < largura; j++)
  41.         {
  42.             printf("%c", parede[i][j]);
  43.         }
  44.         printf("\n");
  45.     }
  46.  
  47.     return 0;
  48. }
Add Comment
Please, Sign In to add comment