Pagini recente » Cod sursa (job #440541) | Cod sursa (job #1601181) | Cod sursa (job #2810995) | Cod sursa (job #2192080) | Cod sursa (job #596688)
Cod sursa(job #596688)
#include<stdio.h>
#include<algorithm>
using namespace std;
struct cladiri
{
int x,y,Lx,Ly,H,m;
};
cladiri V[101];
int n,lg[101];
bool comparare(cladiri x,cladiri y)
{
if(x.x<y.x)
return true;
else
if(x.x == y.x)
if(x.y < y.y)
return true;
return false;
}
int main()
{
int i,j;
freopen("macheta.in","r",stdin);
freopen("macheta.out","w",stdout);
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%d%d%d%d%d",&V[i].x,&V[i].y,&V[i].Lx,&V[i].Ly,&V[i].H);
V[i].m = i;
lg[i]=V[i].Lx;
}
sort(&V[1],&V[n+1],comparare);
//for(i=1;i<=n;i++)
// printf("%d %d %d %d %d %d\n",V[i].x,V[i].y,V[i].Lx,V[i].Ly,V[i].H,V[i].m);
for(i=2;i<=n;i++)
{
for(j=1;j<=i-1;j++)
{
if(V[i].y != V[j].y && V[i].x >= V[j].x && V[i].H <= V[j].H)
{
if(V[i].x==V[j].y) lg[ V[i].m ]-=V[j].Lx;
if(V[i].x<V[j].x) lg[ V[i].m ]-=V[i].x+V[i].Lx-V[j].x;
if(V[i].x>V[j].x) lg[ V[i].m ]-=V[j].x+V[j].Lx-V[i].x;
}
}
}
for(i=1;i<=n;i++)
if(lg[i]>=1)
printf("%d ",i);
printf("\n");
printf("\n");
return 0;
}