MMAXPER - Rectangles Perimeter

Tác giả: hieult

Ngôn ngữ: C++

#include <stdio.h>
//#include <conio.h>

int TTD(int a)
{
    if(a<0) return -a;
    else return a;
}

int max(int a,int b)
{
    if(a>b) return a;
    else return b;
}

int main()
{
    int n,x[1001],y[1001];
    int A,B;
    scanf("%d",&n);
    for(int i = 1;i<=n;i++)
    {
        scanf("%d %d",&x[i],&y[i]);
        if(i==1)
        {
             A = x[i];
             B = y[i];
        }
        else 
        {
             int a = max(A+x[i]+TTD(y[i]-y[i-1]),B+x[i]+TTD(y[i]-x[i-1]));
             int b = max(B+y[i]+TTD(x[i]-x[i-1]),A+y[i]+TTD(x[i]-y[i-1]));
             A = a;
             B = b;
        }
    }
    printf("%d",max(A,B));
    //getch();
}

Download