b680. 百米賽道編排
標籤 :
通過比率 : 479人/531人 ( 90% ) [非即時]
評分方式:
Tolerant

最近更新 : 2015-10-27 17:08

內容

徑賽短中距離賽跑,皆會依照選手實力進行最佳最公平的分組及賽道,當參賽者眾多的時候,將設置預賽或複賽,分組及賽道編排時必須依循兩個原則:

  1. 實力優秀者,儘量排在中間的賽道。
  2. 實力相當者,絕對避免排在同一組。

 分組及賽道編排的的方法如下:

  1. 常態分組:方法是使用 S 型的分配,比如說選手共有31 人,每8 人一組(因為每組要8個賽道) 。步驟流程可以依照下列的方法實施。
    • 依照個人最佳成績排序。
    • 總人數/8 = 總組數。如31 / 8 = 4 ,必須分四組。
    • 如分4組,每個人的分組依成績排序,設定為 123443211234…..,依照這個規則填滿為止。
  2. 賽道編排:在每個分組上面,成績越好的,越往中間集中。方法就是分組排序號,以45362718的順序排賽道。

 

 

 

輸入說明
  1. 第一個數字N代表共有幾位選手,N<= 200 ,且N必為8的倍數。
  2. 每列有兩項資料,用空白隔開1 10.80,1代表選手,80是他的最佳成績。假設每一位選手的最佳成績不重複。

 

輸出說明

每列共有資料兩個部分,第一個資料代表分組,後面8筆資料代表選手所排的賽道順序。如:1 15 10 2 6 11 5 13 16,最前面的1代表第一組,15 10 2 6 11 5 13 16都是選手編號,順序就是賽道的順序,最左邊為第1道,最右邊為第8道。

 

範例輸入 #1
16
1 10.80
2 10.35
3 10.02
4 10.44
5 11.32
6 09.93
7 11.52
8 11.53
9 12.34
10 11.42
11 10.32
12 10.28
13 12.21
14 12.54
15 12.26
16 13.40
範例輸出 #1
1 15 10 2 6 11 5 13 16
2 9 7 4 3 12 1 8 14
測資資訊:
記憶體限制: 64 MB
公開 測資點#0 (20%): 1.0s , <1K
公開 測資點#1 (30%): 1.0s , <1K
公開 測資點#2 (50%): 1.0s , <1M
提示 :

使用技巧:陣列、排序

標籤:
出處:
[管理者: giantche (大瘋) ]

本題狀況 本題討論 排行

編號 身分 題目 主題 人氣 發表日期
24650 s0975247623@ ... (愛吃又愛睡的Weber) b680
簡易C++做法
1073 2021-03-12 16:58
24063 junesnow39@g ... (皮爸) b680
934 2021-01-14 22:50