Cod sursa(job #2558484)

Utilizator cristiemanuelstroe cristian emanuel cristiemanuel Data 26 februarie 2020 16:46:06
Problema Iepuri Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.01 kb
#include    <iostream>
#include    <fstream>
#include    <queue>

using namespace std;

ifstream fin("oaste2.in");
ofstream fout("oaste2.out");
const int di[]= {-1,0,1,0},
                dj[]= {0,1,0,-1};

int M[102][102],n,m,maxs,minr,suma,reg;

int umple(int ic, int jc)
{
    int iv,jv;
    suma+=M[ic][jc];
    reg++;
    M[ic][jc]=0;
    for(int i=0; i<4; i++)
    {
        iv=ic+di[i];
        jv=jc+dj[i];
        if(M[iv][jv]!=0)
            umple(iv,jv);
    }
}
void calcul()
{
    int i,j;
    for(i=1; i<=n; i++)
        for(j=1; j<=m; j++)
            if(M[i][j])
            {
                suma=0;
                reg=0;
                umple(i,j);
                if(maxs<suma)
                {
                    maxs=suma;
                    minr=reg;
                }
                else if(maxs==suma && reg<minr)
                    minr=reg;
            }
}



int main()
{
    fin>>n>>m;
    for(int i=1;i<=n;i++)
    for(int j=1;j<=m;j++)
    cin>>M[i][j];
    calcul();
    fout<<maxs<<" "<<minr;

}