傻雞抓螃蟹

2021-09-08 20:28:41 字數 1203 閱讀 9694

題目描述

背景又到了吃大閘蟹的季節,黃老師想吃大閘蟹,於是叫傻雞去抓大閘蟹~

描述現有 n 只大閘蟹,每個在乙個二維座標上,保證沒有任何兩個大閘蟹重合。傻雞伸手抓大

閘蟹了,他怕大閘蟹的攻擊,當他捉乙隻大閘蟹時,其他大閘蟹都朝這只運動(左邊的向右,

右邊的向左,x 座標相同的不動)。

當然,大閘蟹只會在 x方向上橫行,每秒一單位長度。傻雞捉乙隻大閘蟹一秒鐘,當本秒

末若某乙隻大閘蟹與傻雞的手同 x 座標,傻雞的行動失敗。問:怎樣做才能抓完 n 只大閘

蟹?輸入

輸入格式

輸入第一行:n。

第二行有 2n 正整數,相鄰兩個用一空格分開,第 2i-1 和第 2*i 個數表示編號為 i 的大閘

蟹的 x,y 作標。

輸入保證按先 x 後 y 的遞增序排列。

輸出輸出格式

輸出:一共 n 行,每行乙個大閘蟹編號,表示傻雞取大閘蟹的先後序列。如有多解,輸出第乙個

編號最小的,如果第乙個編號相同,輸出第二個編號最大的,再相同,輸出第三個編號最

小的…樣例輸入

21 3 4 2

樣例輸出12

提示限制

每個測試點一秒

提示輸入資料保證有解

n<=5000.

0<=所有座標<=2^31-1

題解:證明:

因為輸入資料保證有解,假設有兩隻螃蟹 a,b 初始橫座標為 x1,x2 且 x2-x1=1,則在任

意時刻 a,b 都將向同一方向運動,即永遠不能抓 a 和 b,與題意不符。

那麼有沒有可能兩隻螃蟹在中途走到一起?設 x2-x1=2,由上面的證明 x1+1 的位置

上無螃蟹,即 x1,x2 不能向對方移動。

因此任何乙隻螃蟹在任何時刻都能被抓到。證畢。

方案:從兩頭向中間輸出即可。

就是在頭上抓乙個,在相應的另一邊抓乙個,這樣中間的螃蟹就左走,後右走,相當於不變。

題目本質上竟然這麼簡單…然而我想不到555

#include//傻雞抓螃蟹 

#includeusing namespace std;

struct crabc[5010];

bool rule(crab c1,crab c2)

sort(c,c+n,rule);

for(int i=0;icout

}

傻雞抓大閘蟹

吉首大學第八屆 新星杯 b題 網賽 題目描述 背景又到了吃大閘蟹的季節,黃老師想吃大閘蟹,於是叫傻雞去抓大閘蟹 描述現有n只大閘蟹,每個在乙個二維座標上,保證沒有任何兩個大閘蟹重合。傻雞伸手抓大閘蟹了,他怕大閘蟹的攻擊,當他捉乙隻大閘蟹時,其他大閘蟹都朝這只運動 左邊的向右,右邊的向左,x座標相同的...

「狼牙抓雞」現身IT江湖

國內眾多剛剛躲過微軟的 黑屏 行動,卻沒能躲過鋒利的 狼牙 眾多的電腦成了 狼牙 嘴裡的肉雞。it江湖內並不是象想象中那麼平靜。危機與機遇並存,當it江湖爆發一次危機時,狼牙 就發現 黑屏 有機可乘時,便瘋狂出動掃蕩整個it江湖,規模之大堪比當年的 衝擊波 波 病毒。所謂的 狼牙抓雞器 每天可以控制...

小蔡從黑抓雞記

小蔡看了看,覺得這灰鴿子不錯,用起來也還蠻簡單的。可惜這小子整天只知道網上泡mm,別的又不會多少,生性魯鈍的小蔡對 並茂的灰鴿子用起來仍然覺得有些困難,咋辦?網上熱心人好多啊,找師傅去.在師傅的熱心教導下,小蔡的功力漸有長進,但還是遇到麻煩了。小蔡 師傅救命呀,防毒軟體太可惡了,好不容易咱剛學會,卻...