經典演算法 淵子賽馬

2021-07-04 16:26:34 字數 1622 閱讀 3959

描述

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

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

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

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

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

輸入有多組測試資料。 

每組測試資料報括3行: 

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

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

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

當n為0時退出。 輸出

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

否則輸出「no」。

樣例輸入 5

2 3 3 4 5

1 2 3 4 5

42 2 1 2

2 2 3 10

樣例輸出

yesno

#include 

//對陣列進行輸入

void

input

(inta,

intn)}

//使用氣泡排序,將兩人的馬按速度從小到大進行排序。

void

sort

(inta,

intn

)}    }}

intmain()

//如果田忌最小的馬速度小於齊王,則**的將田忌速度最小的馬與齊王速度最大的馬進行比較,將田忌角標加一,齊王角標減一。

else if(a

[t_min

]q_min

])else

//如果田忌最大速度的馬比齊王慢。則將齊王角標減一,田忌角標加一

else if(a

[t_max

]q_max])

//如果兩人速度最大的馬的速度相等,則將田忌最小速度和齊王最大速度比較,田忌角標加一,齊王角標減一

else}}

} //如果田忌勝利的次數大於所有次數的一半,則輸出yes,否則no h

=n/2

;if(win

>h)

printf

("yes\n"

);else

printf

("no\n");}

return0;

}

Problem D 淵子賽馬

time limit 1000 sec memory limit 64 mb submit 11 solved 5 submit status web board 賽馬是一古老的遊戲,早在西元前四世紀的中國,處在諸侯割據的狀態,歷史上稱為 戰國時期 在魏國作官的孫臏,因為受到同僚龐涓的 被齊國使臣救...

1005 淵子賽馬

賽馬是一古老的遊戲,早在西元前四世紀的中國,處在諸侯割據的狀態,歷史上稱為 戰國時期 在魏國作官的孫臏,因為受到同僚龐涓的 被齊國使臣救出後,到達齊國國都。賽馬是當時最受齊國貴族歡迎的娛樂專案。上至國王,下到大臣,常常以賽馬取樂,並以重金賭輸贏。田忌多次與國王及其他大臣賭輸贏,屢賭屢輸。一天他賽馬又...

YTU 1005 淵子賽馬

時間限制 1000 sec 記憶體限制 64 mb 提交 338 解決 49 賽馬是一古老的遊戲,早在西元前四世紀的中國,處在諸侯割據的狀態,歷史上稱為 戰國時期 在魏國作官的孫臏,因為受到同僚龐涓的 被齊國使臣救出後,到達齊國國都。賽馬是當時最受齊國貴族歡迎的娛樂專案。上至國王,下到大臣,常常以賽...