Cod sursa(job #2774833)

Utilizator BlaugranasEnal Gemaledin Blaugranas Data 13 septembrie 2021 06:53:41
Problema Reuniune Scor 100
Compilator c-64 Status done
Runda Arhiva de probleme Marime 0.75 kb
#include<stdio.h>
typedef struct {
    int x,y,u,v;
}D;
long long d,p;
D a,b,c,x,y,z,t;
long long A(D a)
{
    return 1LL*(a.u-a.x)*(a.v-a.y);
}
long long P(D a)
{
    return 2LL*(a.u-a.x+a.v-a.y);
}
D R(D a,D b)
{
    D n;
    n.x=a.x<b.x?b.x:a.x,n.u=a.u<b.u?a.u:b.u,n.y=a.y<b.y?b.y:a.y,n.v=a.v<b.v?a.v:b.v;
    if(n.x>n.u||n.y>n.v)
        n.x=n.y=n.u=n.v=0;
    return n;
}
int main()
{
    freopen("reuniune.in","r",stdin),freopen("reuniune.out","w",stdout),scanf("%d%d%d%d",&a.x,&a.y,&a.u,&a.v),
    scanf("%d%d%d%d",&b.x,&b.y,&b.u,&b.v),scanf("%d%d%d%d",&c.x,&c.y,&c.u,&c.v),x=R(a,b),y=R(a,c),z=R(b,c),t=R(x,c);
    d=A(a)+A(b)+A(c)-A(x)-A(y)-A(z)+A(t),p=P(a)+P(b)+P(c)-P(x)-P(y)-P(z)+P(t),printf("%lld %lld",d,p);
    return 0;
}