Pagini recente » Cod sursa (job #386547) | Cod sursa (job #159526) | Cod sursa (job #1630545) | Cod sursa (job #858561) | Cod sursa (job #2558484)
#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;
}