Cod sursa(job #68734)

Utilizator gabitzish1Gabriel Bitis gabitzish1 Data 29 iunie 2007 12:58:40
Problema Reuniune Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 7.17 kb
#include<stdio.h>
#include<iostream.h>
#include<math.h>

long long a1x, a1y, a2x, a2y, b1x, b1y, b2x, b2y, c1x, c1y, c2x, c2y;
long long l1, L1, l2 ,L2, l3, L3, a1, a2, a3, a12, a123, P;
long long p1, p2, p3, p12, p123, r1x, r2x, r1y, r2y, a23, p23, p13, a13, A;

void citire()
{
  freopen("reuniune.in","r",stdin);
  freopen("reuniune.out","w",stdout);

  scanf("%lld %lld %lld %lld",&a1x, &a1y, &a2x, &a2y);
  scanf("%lld %lld %lld %lld",&b1x, &b1y, &b2x, &b2y);
  scanf("%lld %lld %lld %lld",&c1x, &c1y, &c2x, &c2y);

}

void laturi()
{
  l1=a2x-a1x; L1=a2y-a1y;
  l2=b2x-b1x; L2=b2y-b1y;
  l3=c2x-c1x; L3=c2y-c1y;

  a1=l1*L1;
  a2=l2*L2;
  a3=l3*L3;

  p1=2*(l1+L1);
  p2=2*(l2+L2);
  p3=2*(l3+L3);

}

void intersectii()
{
  long long lat1=0, lat2=0;

  if (a2x<=b2x && a2y>=b2y && a1x<=b1x && a1y>=b1y)
    { a12=lat2*lat1; p12=2*(lat1+lat2);
      r1x=b1x; r1y=a1y; r2x=a2x; r2y=b2y;}
    else
  if (a2x<=b2x && a2y<=b2y && a1x<=b1x && a1y<=b1y)
    { a12=lat2*lat1; p12=2*(lat1+lat2);
      r1x=b1x; r1y=b1y; r2x=a2x; r2y=a2y;}
    else
  if (a2x>=b2x && a2y<=b2y && a1x>=b1x && a1y<=b1y)
    {  a12=lat2*lat1; p12=2*(lat1+lat2);
      r1x=a1x; r1y=b1y; r2x=b2x; r2y=a2y;}
    else
  if (a2x>=b2x && a2y>=b2y && a1x>=b1x && a1y>=b1y)
    { a12=lat2*lat1; p12=2*(lat1+lat2);
      r1x=a1x; r1y=a1y; r2x=b2x; r2y=b2y;}
    else

  if (a2x>=b2x && a2y>=b2y && a1x>=b1x && a1y<=b1y)
    {  a12=lat2*lat1; p12=2*(lat1+lat2);
      r1x=a1x; r1y=b1y; r2x=b2x; r2y=b2y;}
    else
  if (a2x<=b2x && a2y>=b2y && a1x<=b1x && a1y<=b1y)
    {  a12=lat2*lat1; p12=2*(lat1+lat2);
      r1x=b1x; r1y=b1y; r2x=a2x; r2y=b2y;}
    else
  if (a2x>=b2x && a2y>=b2y && a1x<=b1x && a1y>=b1y)
    { a12=lat2*lat1; p12=2*(lat1+lat2);
      r1x=b1x; r1y=a1y; r2x=b2x; r2y=b2y;}
    else
  if (a2x>=b2x && a2y<=b2y && a1x<=b1x && a1y<=b1y)
    { a12=lat2*lat1; p12=2*(lat1+lat2);
      r1x=b1x; r1y=b1y; r2x=b2x; r2y=a2y;}
    else

  if (b2x<=a2x && b2y>=a2y && b1x<=a1x && b1y>=a1y)
    { a12=lat2*lat1; p12=2*(lat1+lat2);
      r1x=a1x; r1y=b1y; r2x=b2x; r2y=a2y;}
    else
  if (b2x<=a2x && b2y<=a2y && b1x<=a1x && b1y<=a1y)
    { a12=lat2*lat1; p12=2*(lat1+lat2);
      r1x=a1x; r1y=a1y; r2x=b2x; r2y=b2y;}
    else
  if (b2x>=a2x && b2y<=a2y && b1x>=a1x && b1y<=a1y)
    { a12=lat2*lat1; p12=2*(lat1+lat2);
      r1x=b1x; r1y=a1y; r2x=a2x; r2y=b2y;}
    else
  if (b2x>=a2x && b2y>=a2y && b1x>=a1x && b1y>=a1y)
    { a12=lat2*lat1; p12=2*(lat1+lat2);
      r1x=b1x; r1y=b1y; r2x=a2x; r2y=a2y;}
    else

  if (b2x>=a2x && b2y>=a2y && b1x>=a1x && b1y<=a1y)
    { a12=lat2*lat1; p12=2*(lat1+lat2);
      r1x=b1x; r1y=a1y; r2x=a2x; r2y=a2y;}
    else
  if (b2x<=a2x && b2y>=a2y && b1x<=a1x && b1y<=a1y)
    { a12=lat2*lat1; p12=2*(lat1+lat2);
      r1x=a1x; r1y=a1y; r2x=b2x; r2y=a2y;}
    else
  if (b2x>=a2x && b2y>=a2y && b1x<=a1x && b1y>=a1y)
    { a12=lat2*lat1; p12=2*(lat1+lat2);
      r1x=a1x; r1y=b1y; r2x=a2x; r2y=a2y;}
    else
  if (b2x>=a2x && b2y<=a2y && b1x<=a1x && b1y<=a1y)
    { a12=lat2*lat1; p12=2*(lat1+lat2);
      r1x=a1x; r1y=b1y; r2x=a2x; r2y=b2y;}
  lat1=abs(r2x-r1x);
  lat2=abs(r2y-r1y);
  a12=lat1*lat2;
  p12=(lat1+lat2)*2;



  long long l, L;
  l=abs(c2x-r1x);
  L=abs(c2y-r1y);
  a123=L*l;
  p123=2*(l+L);


  if (a2x<=c2x && a2y>=c2y && a1x<=c1x && a1y>=c1y)
    {
      r1x=c1x; r1y=a1y; r2x=a2x; r2y=c2y;}
    else
  if (a2x<=c2x && a2y<=c2y && a1x<=c1x && a1y<=c1y)
    {
      r1x=c1x; r1y=c1y; r2x=a2x; r2y=a2y;}
    else
  if (a2x>=c2x && a2y<=c2y && a1x>=c1x && a1y<=c1y)
    {
      r1x=a1x; r1y=c1y; r2x=c2x; r2y=a2y;}
    else
  if (a2x>=c2x && a2y>=c2y && a1x>=c1x && a1y>=c1y)
    {
      r1x=a1x; r1y=a1y; r2x=c2x; r2y=c2y;}
    else

  if (a2x>=c2x && a2y>=c2y && a1x>=c1x && a1y<=c1y)
    {
      r1x=a1x; r1y=c1y; r2x=c2x; r2y=c2y;}
    else
  if (a2x<=c2x && a2y>=c2y && a1x<=c1x && a1y<=c1y)
    {
      r1x=c1x; r1y=c1y; r2x=a2x; r2y=c2y;}
    else
  if (a2x>=c2x && a2y>=c2y && a1x<=c1x && a1y>=c1y)
    {
      r1x=c1x; r1y=a1y; r2x=c2x; r2y=c2y;}
    else
  if (a2x>=c2x && a2y<=c2y && a1x<=c1x && a1y<=c1y)
    {
      r1x=c1x; r1y=c1y; r2x=c2x; r2y=a2y;}
    else

  if (c2x<=a2x && c2y>=a2y && c1x<=a1x && c1y>=a1y)
    {
      r1x=a1x; r1y=c1y; r2x=c2x; r2y=a2y;}
    else
  if (c2x<=a2x && c2y<=a2y && c1x<=a1x && c1y<=a1y)
    {
      r1x=a1x; r1y=a1y; r2x=c2x; r2y=c2y;}
    else
  if (c2x>=a2x && c2y<=a2y && c1x>=a1x && c1y<=a1y)
    {
      r1x=c1x; r1y=a1y; r2x=a2x; r2y=c2y;}
    else
  if (c2x>=a2x && c2y>=a2y && c1x>=a1x && c1y>=a1y)
    {
      r1x=c1x; r1y=c1y; r2x=a2x; r2y=a2y;}
    else

  if (c2x>=a2x && c2y>=a2y && c1x>=a1x && c1y<=a1y)
    {
      r1x=c1x; r1y=a1y; r2x=a2x; r2y=a2y;}
    else
  if (c2x<=a2x && c2y>=a2y && c1x<=a1x && c1y<=a1y)
    {
      r1x=a1x; r1y=a1y; r2x=c2x; r2y=a2y;}
    else
  if (c2x>=a2x && c2y>=a2y && c1x<=a1x && c1y>=a1y)
    {
      r1x=a1x; r1y=c1y; r2x=a2x; r2y=a2y;}
    else
  if (c2x>=a2x && c2y<=a2y && c1x<=a1x && c1y<=a1y)
    {
      r1x=a1x; r1y=c1y; r2x=a2x; r2y=c2y;}
  lat1=abs(r2x-r1x);
  lat2=abs(r2y-r1y);

  a13=lat1*lat2;
  p13=2*(lat1+lat2);


  if (b2x<=c2x && b2y>=c2y && b1x<=c1x && b1y>=c1y)
    {
      r1x=c1x; r1y=b1y; r2x=b2x; r2y=c2y;}
    else
  if (b2x<=c2x && b2y<=c2y && b1x<=c1x && b1y<=c1y)
    {
      r1x=c1x; r1y=c1y; r2x=b2x; r2y=b2y;}
    else
  if (b2x>=c2x && b2y<=c2y && b1x>=c1x && b1y<=c1y)
    {
      r1x=b1x; r1y=c1y; r2x=c2x; r2y=b2y;}
    else
  if (b2x>=c2x && b2y>=c2y && b1x>=c1x && b1y>=c1y)
    {
      r1x=b1x; r1y=b1y; r2x=c2x; r2y=c2y;}
    else

  if (b2x>=c2x && b2y>=c2y && b1x>=c1x && b1y<=c1y)
    {
      r1x=b1x; r1y=c1y; r2x=c2x; r2y=c2y;}
    else
  if (b2x<=c2x && b2y>=c2y && b1x<=c1x && b1y<=c1y)
    {
      r1x=c1x; r1y=c1y; r2x=b2x; r2y=c2y;}
    else
  if (b2x>=c2x && b2y>=c2y && b1x<=c1x && b1y>=c1y)
    {
      r1x=c1x; r1y=b1y; r2x=c2x; r2y=c2y;}
    else
  if (b2x>=c2x && b2y<=c2y && b1x<=c1x && b1y<=c1y)
    {
      r1x=c1x; r1y=c1y; r2x=c2x; r2y=b2y;}
    else

  if (c2x<=b2x && c2y>=b2y && c1x<=b1x && c1y>=b1y)
    {
      r1x=b1x; r1y=c1y; r2x=c2x; r2y=b2y;}
    else
  if (c2x<=b2x && c2y<=b2y && c1x<=b1x && c1y<=b1y)
    {
      r1x=b1x; r1y=b1y; r2x=c2x; r2y=c2y;}
    else
  if (c2x>=b2x && c2y<=b2y && c1x>=b1x && c1y<=b1y)
    {
      r1x=c1x; r1y=b1y; r2x=b2x; r2y=c2y;}
    else
  if (c2x>=b2x && c2y>=b2y && c1x>=b1x && c1y>=b1y)
    {
      r1x=c1x; r1y=c1y; r2x=b2x; r2y=b2y;}
    else

  if (c2x>=b2x && c2y>=b2y && c1x>=b1x && c1y<=b1y)
    {
      r1x=c1x; r1y=b1y; r2x=b2x; r2y=b2y;}
    else
  if (c2x<=b2x && c2y>=b2y && c1x<=b1x && c1y<=b1y)
    {
      r1x=b1x; r1y=b1y; r2x=c2x; r2y=b2y;}
    else
  if (c2x>=b2x && c2y>=b2y && c1x<=b1x && c1y>=b1y)
    {
      r1x=b1x; r1y=c1y; r2x=b2x; r2y=b2y;}
    else
  if (c2x>=b2x && c2y<=b2y && c1x<=b1x && c1y<=b1y)
    {
      r1x=b1x; r1y=c1y; r2x=b2x; r2y=c2y;}
  lat1=abs(r2x-r1x);
  lat2=abs(r2y-r1y);
  a23=lat1*lat2;
  p23=2*(lat1+lat2);

  A=a1+a2+a3-a12-a13-a23+a123;
  P=p1+p2+p3-p12-p13-p23+p123;

  printf("%lld %lld",A,P);
}

int main()
{
  citire();
  laturi();
  intersectii();
  return 0;
}