HM272 按轮抽签
HM272 按轮抽签
来源: 第 272 集 演讲比赛流程管理系统-抽签功能实现
难度: 普及-
时间限制: 1s
空间限制: 64MB
题目描述
选手建档之后,用 startSpeech 把整届流程串起来。它先用中文架子写下步骤,再逐步填实现:
- 第一轮:抽签 → 比赛 → 显示晋级;
- 第二轮:抽签 → 比赛 → 显示最终结果;
- 最后保存前三名分数到文件。
本题只实现第一步里的抽签,封装 speechDraw。根据 m_Index 决定打乱哪一个容器:轮数为 \(1\) 时打乱 v1,否则打乱 v2。课堂上用 random_shuffle(需要 <algorithm>)。评测不能依赖未固定种子的随机数,因此打乱结果由输入直接给出:把给定序列视为已经洗牌后的演讲顺序,按该顺序写入对应容器并打印。
抽签时先提示 第X轮比赛选手正在抽签(\(X\) 为当前轮数),再提示 抽签后演讲顺序如下,然后按顺序输出全部编号。
输入格式
第一行两个整数 \(roundIndex\)、\(n\)(\(roundIndex \in \{1,2\}\),\(1 \le n \le 12\))。
第二行 \(n\) 个整数,为该轮抽签后的编号顺序。
输出格式
第一行:第、轮数、轮比赛选手正在抽签,中间无空格。
第二行:抽签后演讲顺序如下。
第三行:\(n\) 个编号,相邻之间一个空格。行末换行。
样例
输入 #1
1 12
10006 10001 10009 10002 10005 10004 10012 10003 10008 10007 10010 10011
输出 #1
第1轮比赛选手正在抽签
抽签后演讲顺序如下
10006 10001 10009 10002 10005 10004 10012 10003 10008 10007 10010 10011
输入 #2
2 6
10007 10001 10012 10003 10008 10009
输出 #2
第2轮比赛选手正在抽签
抽签后演讲顺序如下
10007 10001 10012 10003 10008 10009
说明
startSpeech 负责整届流程,但本题只把抽签做完。样例 1 是第一轮 \(12\) 人,写入并打印 v1;样例 2 是第二轮 \(6\) 人,操作的是 v2。不要在程序里调用未播种的随机函数。
信息
- ID
- 1271
- 难度
- (无)
- 分类
- (无)
- 标签
- (无)
- 递交数
- 0
- 已通过
- 0
- 通过率
- ?
- 上传者