Pagini recente » Cod sursa (job #1928282) | Rating Stoian Radu (stoian) | Istoria paginii utilizator/teenboy21 | Cod sursa (job #1491239) | Cod sursa (job #1310915)
#include <fstream>
#include <cmath>
using namespace std;
ifstream f("harta5.in");
ofstream g("harta5.out");
long int a[1503][1503],i,j,i1,d,i2,j2,n,m,k,p,l[1503],c[1503],pozmax,maxim,nr;
int main()
{ f>>p;
f>>n>>m>>k;
if(p==1)
{ for(j=1;j<=k;j++)
{f>>i1>>d>>i2>>j2;
l[j]=abs(i2-i1)+1;
c[j]=abs(j2-d)+1;
if(l[j]==c[j] && l[j]>maxim) maxim=l[j],pozmax=j;}
g<<l[pozmax] * c[pozmax]<<" ";
for(j=1;j<=k;j++)
{
if((l[j]<=l[pozmax]-2 && c[j]<=c[pozmax]-2)) nr++;
}
g<<nr;
}
if(p==2)
{ for(j=1;j<=k;j++)
{f>>i1>>d>>i2>>j2;c[d]=1,c[j2]=1;l[i1]=1,l[i2]=1;
for(i=i1;i<=i2;i++)
a[i][d]=1,a[i][j2]=1,l[i]=1;
for(i=d;i<=j2;i++)
a[i1][i]=1,a[i2][i]=1,c[i]=1;}
for(i=1;i<=n;i++)
{ if(l[i]) nr=0;
else if(!l[i] && !nr) nr=1,l[i]=1;
}
nr=0;
for(i=1;i<=m;i++)
{
if(c[i]) nr=0;
else if(!c[i] && !nr) nr=1,c[i]=1;
}
for(i=1;i<=n;i++)
if(l[i])
{for(j=1;j<=m;j++)
if(c[j])g<<a[i][j]<<' ';g<<'\n';}
}
f.close();g.close();
}