| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
ft...................................In Reply To:Re:贴程序 Posted by:sothink at 2005-07-23 22:08:10 > #include<stdio.h>
> #include<math.h>
> #define PI acos(-1.0)
> #define EP 1e-8
> int n,r;
> struct TPoint
> {
> double x,y;
> };
>
> TPoint point[1001];
>
> double AreaOfPolygon(TPoint P[], int n)
> {
> int i;
> double s = 0.0;
> if (n < 3) return 0.0;
> for (i = 0; i < n; i++)
> s += P[i].x * P[(i + 1) % n].y - P[i].y * P[(i + 1) % n].x;
> return fabs(s) / 2.0;
> }
>
> int main()
> {
> freopen("a.in","r",stdin);
> double len=0.0;
> int i;
> scanf("%d %d",&n,&r);
> for(i=0;i<n;i++)
> {
> scanf("%lf %lf",&point[i].x,&point[i].y);
> }
> len = AreaOfPolygon(point, n);
> if(n>=2)
> len +=2.0*PI*r;
> if(n==2)
> len+=(point[0].x-point[1].x)*(point[0].x-point[1].x)+(point[0].y-point[1].y)*(point[0].y-point[1].y);
> printf("%.2lf\n",len);
> return 0;
> }
>
Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator