#include<bits/stdc++.h>
using namespace std;
long long n,m;
bool c(long long i,long long j){ //vemos que esos valores esten en el rango
    return i>=0 && i<n &&j>=0 && j<m;
}
int main(){
    long p[5]={};
    cin>>n>>m;
    char g[n][m];
    for(long long i=0;i<n;i++){
        for(long long j=0;j<m;j++){
            cin>>g[i][j];
        }
    }
for(long long i=0;i<n;i++){  //
    for(long long j=0;j<m;j++){
        if (g[i][j]!='.'){
            //vemos que la siguiente fila y columan esten dentro
        if(c(i+1,j+1)  && g[i][j] == g[i][j+1] && g[i][j+1] == g[i+1][j] && g[i+1][j] == g[i+1][j+1]){ //cubooo
            p[0]++;
        }
        //horizontal  por eso j+3
        if(c(i,j+3) &&g[i][j] == g[i][j+1] && g[i][j+1] == g[i][j+2] && g[i][j+2] == g[i][j+3]){ //linea horizontal
            p[1]++;
        }
        //vertical por eso i+3 y asi con los demas
        if(c(i+3,j) && g[i][j] == g[i+1][j] && g[i+1][j] == g[i+2][j] && g[i+2][j] == g[i+3][j]){ //linea vertical
            p[1]++;
        }
        
        if(c(i-1,j+2) && g[i][j]==g[i][j+1] && g[i][j+1]==g[i-1][j+1] && g[i-1][j+1]==g[i-1][j+2]){   //la figura 3
            p[2]++;
        }
        if(c(i+2,j+1) && g[i][j]==g[i+1][j] && g[i+1][j]==g[i+1][j+1] && g[i+1][j+1]==g[i+2][j+1]){  // la figura 3 hacia arriba
            p[2]++;
        }
        if(c(i+1,j+2) && g[i][j]==g[i][j+1] && g[i][j+1] == g[i+1][j+1] && g[i+1][j+1] == g[i+1][j+2]){   //la figura 4
            p[3]++;
        }
        if(c(i+2,j-1) && g[i][j]==g[i+1][j] && g[i+1][j] == g[i+1][j-1] && g[i+1][j-1]== g[i+2][j-1]){ // la figura 4 vertical
            p[3]++;
        }
        if(c(i-1,j+2) && g[i][j]==g[i][j+1] && g[i][j+1]==g[i][j+2] && g[i][j]==g[i-1][j+1]){  //t mirando hacia arriba
            p[4]++;
        }
        if(c(i+1,j+2) && g[i][j]==g[i][j+1] && g[i][j+1]==g[i][j+2] && g[i][j]==g[i+1][j+1]){   // t mirando hacia abajo
            p[4]++;
        }
        if(c(i+2,j+1) && g[i][j]==g[i+1][j] && g[i+1][j]==g[i+2][j] && g[i][j]==g[i+1][j+1]){   //t mirando a la derecha
            p[4]++;
        }
        if(c(i+2,j-1) && g[i][j]==g[i+1][j] && g[i+1][j]==g[i+2][j] && g[i][j]==g[i+1][j-1]){    // t mirando a la izquierda
            p[4]++;
        }
        }
    }
}
    for(long long i:p){
        cout<<i<<'\n';
    }
}
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... |