問題 1253 老王賽馬

2021-10-03 16:03:20 字數 1324 閱讀 2979

賽馬是一古老的遊戲,早在西元前四世紀的中國,處在諸侯割據的狀態,歷史上稱為「戰國時期」。在魏國作官的孫臏,因為受到同僚龐涓的**,被齊國使臣救出後,到達齊國國都。

賽馬是當時最受齊國貴族歡迎的娛樂專案。上至國王,下到大臣,常常以賽馬取樂,並以重金賭輸贏。田忌多次與國王及其他大臣賭輸贏,屢賭屢輸。一天他賽馬又輸了,回家後悶悶不樂。孫臏安慰他說:「下次有機會帶我到馬場看看,也許我能幫你。」

孫臏仔細觀察後發現,田忌的馬和其他人的馬相差並不遠,只是策略運用不當,以致失敗。

比賽前田忌按照孫臏的主意,用上等馬鞍將下等馬裝飾起來,冒充上等馬,與齊王的上等馬比賽。第二場比賽,還是按照孫臏的安排,田忌用自己的上等馬與國王的中等馬比賽,在一片喝彩中,只見田忌的馬竟然衝到齊王的馬前面,贏了第二場。關鍵的第三場,田忌的中等馬和國王的下等馬比賽,田忌的馬又一次衝到國王的馬前面,結果二比一,田忌贏了國王。

就是這麼簡單,現在老王也來賽一賽馬。假設每匹馬都有恆定的速度,所以速度大的馬一定比速度小的馬先到終點(沒有意外!!)。不允許出現平局。最後誰贏的場數多於一半(不包括一半),誰就是贏家(可能沒有贏家)。老王有n(1≤n≤1000)匹馬參加比賽。對手的馬的數量與淵子馬的數量一樣,並且知道所有的馬的速度。聰明的你來**一下這場世紀之戰的結果,看看老王能否贏得比賽。

輸入輸入有多組測試資料。

每組測試資料報括3行:

第一行輸入n(1≤n≤1000)。表示馬的數量。

第二行有n個整型數字,即淵子的n匹馬的速度。

第三行有n個整型數字,即對手的n匹馬的速度。

當n為0時退出。

輸出若通過聰明的你精心安排,如果淵子能贏得比賽,那麼輸出「yes」。

否則輸出「no」。

樣例輸入

52 3 3 4 5

1 2 3 4 5

42 2 1 2

2 2 3 1

0樣例輸出

yesno

#include

#include

intcompare

(const

void

* a,

const

void

* b)

intmain()

,op[

1001]=

,i,j,cnt,win,max;

while

(scanf

("%d"

,&n)

&&n)

if(cnt==win)

printf

("yes\n");

else

printf

("no\n");

}return0;

}

Google賽馬問題

據說,這是google的面試題。面試題目如下 一共有25匹馬,有乙個賽場,賽場有5個賽道,就是說最多同時可以有5匹馬一起比賽。假設每匹馬都跑的很穩定,不用任何其他工具,只通過馬與馬之間的比賽,試問,最少得比多少場才能知道跑得最快的5匹馬?不能使用撞大運的演算法 很明顯這是乙個演算法題,網上有很多貼子...

演算法 賽馬問題

有25匹馬和乙個5個賽道的馬場,每場比賽可以決出5匹馬的排名,假設每匹馬發揮穩定,且不會出現名次相同的情況。問 如果要知道25匹馬中跑得最快的馬,需要幾場比賽?如果需要知道跑得第二快的馬,需要幾場比賽?第三快的呢?首先將25匹馬分5組比賽5次,可以得到各組內的排名。將5個第一名再賽一次,就可以知道2...

筆試題 賽馬問題

25匹馬,5個跑道,每個跑道最多能有1匹馬進行比賽,最少比多少次可以比出前5名?因為有25匹馬,而跑道只有5個,最開始通過6場選出第一名的馬匹應該是毫無爭議的 小組賽 12 345a1 a2a3 a4a5 1 2345 b1b2 b3b4b5 1234 5c1c2c3 c4c5 1 2345 d1d...