阿里巴巴2014校招筆試題


題目:宿舍內有五個童鞋一起玩對戰游戲,每場比賽有一些人作為紅方,另外一些人作為藍方,請問至少需要多少場比賽才能使得任意兩個人之間有一場紅方對藍方和一場藍方對紅方的比賽,請寫出思路。

分析:

先把問題一般化,假設宿舍有n個人一起玩對戰游戲。

當n=2時,只需進行1場比賽;

當n=3時,假設是a,b,c三人,首先三人都要進行比賽,需要進行兩場,此時會出現兩紅一藍或者兩藍一紅的情況,此時再將兩紅或兩藍進行一次對戰,得到的結果是一紅一藍還有一個兩色,所以共需進行3場比賽

當n=4時,同理,先最少要進行2場比賽,讓4人都參加,然后會出現兩紅兩藍的情況,再將這兩紅和兩藍各自進行對戰,得到的結果就是一紅一藍還有兩個兩色的,所以共需進行4場比賽

可以總結下,首先要進行n/2場比賽(這里n/2不是取整,比如3/2在這里等於2),而且只能保留一個紅色和一個藍色,其余的人都必須是兩色,所以還要再進行n-2場比賽

最后得到T(n)=n/2+(n-2)場比賽。

T(5)=5/2+(5-2)=6場比賽。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM