Skip to content

Commit

Permalink
PKU
Browse files Browse the repository at this point in the history
  • Loading branch information
marioyc committed Jan 28, 2012
1 parent a9e43fc commit 3c7ceac
Showing 1 changed file with 45 additions and 0 deletions.
45 changes: 45 additions & 0 deletions PKU/1265 - Area.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
#include <cstdio>
#include <algorithm>

using namespace std;

int main(){
int T,N;
int x[100],y[100],x2[101],y2[101];

scanf("%d",&T);

for(int tc = 1;tc <= T;++tc){
scanf("%d",&N);

x2[0] = 0; y2[0] = 0;

for(int i = 0;i < N;++i){
scanf("%d %d",&x[i],&y[i]);
x2[i + 1] = x2[i] + x[i];
y2[i + 1] = y2[i] + y[i];
}

int area = 0;

for(int i = 0;i < N;++i)
area += x2[i] * y2[i + 1] - x2[i + 1] * y2[i];

area = abs(area);

int B = 0;

for(int i = 0;i < N;++i){
int dx = abs(x[i]);
int dy = abs(y[i]);

B += __gcd(dx,dy);
}

int I = (area - B) / 2 + 1;

printf("Scenario #%d:\n%d %d %.1f\n\n",tc,I,B,area / 2.0);
}

return 0;
}

0 comments on commit 3c7ceac

Please sign in to comment.