南陽理工學院OJ 0003 多邊形重心問題

2021-08-13 22:41:43 字數 1220 閱讀 6343

題目要求我們給出按順序給出的n點組成的多邊形的面積和重心橫縱座標的和,考查計算幾何。

我們有任意n邊形的有向面積計算公式: s′

=∑i=

1n−1

(xi−

x0)(

yi+1

−y0)

−(yi

−y0)

(xi+

1−x0

)2記按順序排列的連續兩點與選取某一點的三角形的有向面積: si

,i+1

=(xi

−x0)

(yi+

1−y0

)−(y

i−y0

)(xi

+1−x

0)2,

i=1,2,...,n-1

重心的x座標: xi

,i+1

=x0+

xi+x

i+13

重心的y座標: yi

,i+1

=y0+

yi+y

i+13

則任意n邊形的重心計算公式: x=

∑i=1

n−1[

si,i

+1s′

xi,i

+1],

y=∑i

=1n−

1[si

,i+1

s′yi

,i+1

] 根據題意,我們變形方便計算: s′

=∑i=

1n−1

si,i

+1 s

gm=∑

i=1n

−1si

,i+1

(x0+

xi+x

i+1+

y0+y

i+yi

+1)

則: s=|

s′|,

x+y=

sgm3

s′在題目定義中,如果s=0,則重心公式的分母為0,並且題目規定這種情況為(0,0),這是需要注意的。

#include 

#include

using

namespace

std;

const

double eps=1e-7;

int main()

else

if(fabs(s)printf("0.000 0.000\n");

else}}

}

南陽理工學院ACM完全覆蓋

描述 有一天小董子在玩一種遊戲 用2 1或1 2的骨牌把m n的棋盤完全覆蓋。但他感覺遊戲過於簡單,於是就隨機生成了兩個方塊的位置 可能相同 標記一下,標記後的方塊不用覆蓋。還要注意小董子只有在m n的棋盤能被完全覆蓋後才會進行標記。現在他想知道 如果標記前m n的棋盤能被完全覆蓋,標記後的棋盤是否...

南陽理工學院OJ 12 噴水裝置(二)

區間選點中的區間完全覆蓋問題 求解思路如下。1 先根據給出的點的座標和半徑取出其能覆蓋的線段範圍 假如區間長度8,可選的覆蓋線段 2,6 1,4 3,6 3,7 6,8 2,4 3,5 2將每乙個區間按照左端點遞增順序排列,拍完序後為 1,4 2,4 2,6 3,5 3,6 3,7 6,8 3設定乙...

南陽理工學院OJ 324 猴子吃桃問題

在小媛師姐的 繼續 施壓之下 我終於花了幾十分鐘把公式推導出來了,這感覺不是一般爽 有一堆桃子不知數目,猴子第一天吃掉一半,又多吃了乙個,第二天照此方法,吃掉剩下桃子的一半又多乙個,天天如此,到第m天早上,猴子發現只剩乙隻桃子了,問這堆桃子原來有多少個?m 29 逆推法 第m天吃完桃子後就剩下1個桃...