暑期個人賽 第八場 A

2021-06-23 00:19:49 字數 1316 閱讀 1988

a. 遊戲 

2014新生暑假個人排位賽08

時間限制 1000 ms

記憶體限制 65536 kb

小弱發明了乙個好玩的遊戲,遊戲開始時給你乙個凸多邊形,這個多邊形可以任意旋轉,平移。讓你造出乙個正方形「容器」(足夠大),容器的兩邊垂直,兩邊水平。用這個容器把這個多邊形完全包含,且多邊形有且只有一條邊恰好與容器下邊界重合(與外界相通),不同的邊與外界相通代表不同的方案。現在讓你判斷是否有方案可以讓這個多邊形能夠不掉下來。不掉下來要求是至少有一條邊與容器之間存在壓力(假設摩擦係數無窮大)。

如下圖,左邊會掉下來,右邊不會掉下來。

有多組資料。

對於每組資料,第一行是多邊形點數n(3 <= n <= 1000),後面n行分別是這些點沿著多邊形逆時針的二維座標(xi, yi)(xi,yi的絕對值 <= 1000,輸入資料精度精確到兩位)。

對每組資料輸出有多少種方案可以使多邊形不掉下來。

3

0.00 0.00

2.00 0.00

1.00 1.00

3 0.00 0.00

1.00 0.00

2.00 1.00

40.00 0.00

4.00 0.00

3.00 2.00

1.00 2.00

0

23

賽中提交:一次ac

題目大意:

看題目描述

思路:如果某個角是鈍角,那麼分別以他的兩邊作為貼合的邊時,就會有兩個方案

所以只要計算出一共有幾個鈍角,再解決重複計算的問題即可

下面是ac**:

#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define maxn 1006

using namespace std;

struct p;

p p[maxn];

bool big[maxn];

double point(double x1,double y1,double x2,double y2)

int main()

{ int n;

while(scanf("%d",&n)!=eof){

memset(big,false,sizeof(big));

for(int i=0;i

暑期個人賽 第八場 D

時間限制 1000 ms 記憶體限制 65536 kb 明光村迎來了一年一度的盛世 解碼錦標賽,有 2 n 次個隊伍從世界各村趕來參與比賽,編號為 1 2 n。賽制為每一輪晉級一半隊伍,按序號大小兩兩比賽,淘汰弱者。一輪結束後,所有的勝者進入下一輪,依舊是按順序兩兩比賽。比如第一輪就是 1 vs 2...

暑期個人賽 第三場 A

a.學姐的數碼管 2014新生暑假個人排位賽03 時間限制 1000 ms 記憶體限制 65536 kb 題目描述 學姐的七段數碼管玩的出神入化。現在給你乙個浮點數,你需要把它以七段數碼管的形式輸出出來。乙個 2 n 1 n的矩陣來表示七段數碼管,若下標均從0開始,則以第0列的兩個,第n 1列的兩個...

暑期個人賽 第五場 D

時間限制 1000 ms 記憶體限制 65536 kb 已知函式f,f 0 f 1 1,對於所有n 2,f n f n 1 f n 2 n。給定n,求f n 第一行乙個整數t,表示組數,t 1000。之後t行每行乙個整數n,0 n 1e9。對於每組測試組,輸出一行f n 1000000007.612...