NYOJ 3 多邊形重心

2022-01-26 13:47:11 字數 1034 閱讀 5491

時間限制:3000 ms  |  記憶體限制:65535 kb

難度:5

描述在某個多邊形上,取n個點,這n個點順序給出,按照給出順序將相鄰的點用直線連線, (第乙個和最後乙個連線),所有線段不和其他線段相交,但是可以重合,可得到乙個多邊形或一條線段或乙個多邊形和乙個線段的連線後的圖形;

如果是一條線段,我們定義面積為0,重心座標為(0,0).現在求給出的點集組成的圖形的面積和重心橫縱座標的和;

輸入第一行有乙個整數0

輸出輸出每個多邊形的面積、重心橫縱座標的和,小數點後保留三位;

樣例輸入

3

30 1

0 20 3

31 1

0 00 1

41 1

0 00 0.5

0 1

樣例輸出

0.000 0.000

0.500 1.000

0.500 1.000

//

//實際上沒必要用結構體

#include #include #include using namespace std;

const int n = 10000;

const double cmp = 1e-8;

typedef struct node

node;

double area(double x1,double y1,double x2,double y2,double x3,double y3)//有向面積

node ch[n];

int main()

double sum=0;

if(sum_area!=0)

sum=sum_1x/sum_area+sum_1y/sum_area;

if(fabs(sum_area-cmp)==0)

printf( "0.000 0.000\n");

else

printf("%.3lf %.3lf\n",sum_area, sum);

}return 0;

}

NYOJ 3 多邊形重心問題

int abs int i 處理int型別的取絕對值 double fabs double i 處理double型別的取絕對值 float fabsf float i 處理float型別的取絕對值 時間限制 3000 ms 記憶體限制 65535 kb 難度 5 描述在某個多邊形上,取n個點,這n個...

NYOJ 3 多邊形重心問題

題目描述 在某個多邊形上,取n個點,這n個點順序給出,按照給出順序將相鄰的點用直線連線,第乙個和最後乙個連線 所有線段不和其他線段相交,但是可以重合,可得到乙個多邊形或一條線段或乙個多邊形和乙個線段的連線後的圖形 如果是一條線段,我們定義面積為0,重心座標為 0,0 現在求給出的點集組成的圖形的面積...

nyoj 3 多邊形重心問題

時間限制 3000 ms 記憶體限制 65535 kb 難度 5 描述 在某個多邊形上,取n個點,這n個點順序給出,按照給出順序將相鄰的點用直線連線,第乙個和最後乙個連線 所有線段不和其他線段相交,但是可以重合,可得到乙個多邊形或一條線段或乙個多邊形和乙個線段的連線後的圖形 如果是一條線段,我們定義...