Pagini recente » Cod sursa (job #2492819) | Cod sursa (job #1918186) | Cod sursa (job #2320795) | Cod sursa (job #1632755) | Cod sursa (job #982447)
Cod sursa(job #982447)
#include <fstream>
using namespace std;
ifstream fin("dreptunghiuri2.in");
ofstream fout("dreptunghiuri2.out");
short a[1002][1002];
short b[1002][1002];
short x,y;
void parcurgere(short i, short j);
int main()
{
short l,c;
short nro;
short o = 0;
int nr = 0;
fin>>l>>c;
for (short i = 1; i<= l; i++)
for (short j = 1; j<= c; j++)
fin>>a[i][j];
for (short i = 0; i<= l+1;i++)
{
a[i][0] = 0;
a[i][c+1] = 0;
}
for (short i = 0; i<=c+1;i++)
{
a[0][i] = 0;
a[l+1][i] = 0;
}
for (short i = 1; i<= l; i++)
for (short j = 1; j<= c; j++)
if (a[i][j] == 1)
{
x = i;
y = j;
while (a[i][y] == 1)
y++;
while (a[x][j] == 1)
x++;
for (short k = i; k <= x-1; k++)
for (short p = j; p<= y-1; p++)
{
b[k][p]++;
if (b[k][p] > o)
{
o = b[k][p];
nro = 0;
}
if (b[x-1][y-1] == o)
nro++;
}
parcurgere(i,j);
nr++;
}
fout<<nr<<" "<<o<<" "<<nro;
fout.close();
fin.close();
return 0;
}
void parcurgere(short i, short j)
{
if (a[i][j] == 1)
{
a[i][j] = 0;
parcurgere(i+1,j);
parcurgere(i-1,j);
parcurgere(i,j-1);
parcurgere(i,j+1);
}
}