Pagini recente » Cod sursa (job #2600165) | Cod sursa (job #1165817) | Cod sursa (job #2198419) | Cod sursa (job #2622728) | Cod sursa (job #2407517)
#include <fstream>
#include <algorithm>
#define l first
#define c second
#include <bitset>
using namespace std;
ifstream f("harta.in");
ofstream g("harta.out");
pair <short int, short int> v[1009];
int n,m,k,i,q,lmax,cmax,is,iF, js,jf, sol, z, zy,j;
bitset <1501> a[1501];
bitset <1501> vx;
bitset <1501> vy;
int main()
{
f>>q;
if(q==1){
f>>n>>m>>k;
for(i=1;i<=k;i++){
f>> is >> js >> iF >> jf;
v[i].l = iF-is+1;
v[i].c = jf-js+1;
}
sort (v+1, v+k+1);
i=k; while (v[i].l!=v[i].c) i--; k=i;
lmax=v[k].l-2; cmax=v[k].c-2;
for(i=1; i < k; i++)
if( v[i].l <= lmax && v[i].c <= cmax)
sol++;
g<<(lmax+2)*(cmax+2)<<" "<<sol;
return 0;
}
f>>n>>m>>k;
for (i=1; i <= k ; i++){
f>>is>>js>>iF>>jf;
for(j=is; j<=iF; j++) a[j][js]=a[j][jf]=1, vx[j]=1;
for(j=js; j<=jf; j++) a[is][j]=a[iF][j]=1, vy[j]=1;
}
z=0;
for(i=1;i<=n;i++)
if( vx[i] == 1 ) {
zy=0; z=0;
for(j=1; j <= m; j++)
if( vy[j] == 1 )
zy=0, g<<a[i][j]<<" ";
else if ( vy[j] == 0 && zy==0 )
zy++, g<<a[i][j]<<" ";
g<<"\n";
} else if( vx[i] == 0 && z == 0 ) {
zy=0; z++;
for(j=1; j <= m; j++)
if( vy[j] == 1 )
zy=0, g<<a[i][j]<<" ";
else if ( vy[j] == 0 && zy==0 )
zy++, g<<a[i][j]<<" ";
g<<"\n";
}
return 0;
}