mirror of
https://github.com/huihut/interview.git
synced 2024-03-22 13:10:48 +08:00
930 B
930 B
循环赛日程安排问题
代码
问题说明
设有n=2k个选手要进行网球循环赛, 要求设计一个满足以下要求的比赛日程表:
(1)每个选手必须与其他n-1个选手各赛一次; (2)每个选手一天只能赛一次。
按此要求,可将比赛日程表设计成一个 n 行n-1列的二维表, 其中,第 i 行第 j 列表示和第 i 个选手在第 j 天比赛的选手。
功能说明
本程序运用分治的思想,实现了循环赛日程安排问题的求解, 生成日程表,输出。
代码简述
通过用户输入数据,程序输入检测,动态分配空间, 调用生成日程表函数,显示输出。
其中,生成日程表函数运用分治的思想,分成separate份, 先安排第一行(第一份),然后每一份填充,最终求解完毕, 生成日程表。