演化論是近代生物學中一個重要的學說,用來解釋生物在各世代之間存在差異的現象。透過各種演化證據,生物學家們能夠推斷兩物種間的親緣關係,並基於此資訊建立一個樹狀結構,來展現一個可能的演化過程。
小美在生物課聽到老師介紹演化樹時,覺得非常有趣,回家後立刻上網查了一些演化樹的例子(如下示意圖)。
小美看著查到的資料,突發奇想:假設演化樹上的每個節點都代表一個物種,兩節點間在演化樹上的「路徑長度」愈短,是否就顯示兩物種的親緣關係愈相近呢?(此處的路徑長度指的是演化樹上兩點間路徑上的邊個數)小美興沖沖的去和老師討論這個想法,老師的回覆是「不全然正確」。然而小美覺得她的想法頗有可取之處,還是想看看她這個觀察正確性有多高。於是小美委請一位會寫程式的同學大美,幫助她從演化樹中搜集一些她需要的資料。
大美接到的任務如下:給定一個
每一筆測試資料包含
輸出有
10 5 2 9 3 9 7 9 8 5 9 5 6 1 0 1 5 4 1 4 2 3 8 6 1 7 9 5 5 0
2 4 4 1 3
4 5 1 0 0 2 0 3 1 0 0 2 2 3 1 2 2 1
1 1 2 2 2
本題共有四組測試資料,每組可有多筆測試資料:
第一組測試資料:
第二組測試資料:
第三組測試資料:
第四組測試資料:無其他限制,共 19 分。
108 北市賽 pD
testdata set by Omelet
No. | Testdata Range | Constraints | Score |
---|---|---|---|
1 | 0~9 | 23 | |
2 | 10~14 | 32 | |
3 | 10~19 | 26 | |
4 | 0~34 | 無其他限制 | 19 |