算法训练 比赛安排
来源:互联网 发布:网络现在最火的歌 编辑:程序博客网 时间:2024/04/27 09:15
问题描述
设有有2 n(n<=6)个球队进行单循环比赛,计划在2 n – 1天内完成,每个队每天进行一场比赛。设计一个比赛的安排,使在2 n – 1天内每个队都与不同的对手比赛。
输入格式
输入文件matchplan.in共一行,输入n的数值。
输出格式
输出文件matchplan.out共(2 n – 1)行,第i行输出第i天的比赛安排。
格式为:<i> A-B,C-D,……。其中i是天数,A,B分别为比赛双方的编号,每行共2 n-1个比赛场次。
样例输入
2
样例输出
<1>1-2,3-4
<2>1-3,2-4
<3>1-4,2-3
设有有2 n(n<=6)个球队进行单循环比赛,计划在2 n – 1天内完成,每个队每天进行一场比赛。设计一个比赛的安排,使在2 n – 1天内每个队都与不同的对手比赛。
输入格式
输入文件matchplan.in共一行,输入n的数值。
输出格式
输出文件matchplan.out共(2 n – 1)行,第i行输出第i天的比赛安排。
格式为:<i> A-B,C-D,……。其中i是天数,A,B分别为比赛双方的编号,每行共2 n-1个比赛场次。
样例输入
2
样例输出
<1>1-2,3-4
<2>1-3,2-4
<3>1-4,2-3
#include <stdio.h>#define MAXSIZE 64int a[MAXSIZE][MAXSIZE];void Div(int s, int left, int right){if(s < 2){return;}int i, j;int mid = (left + right) / 2;s /= 2;Div(s, left, mid);Div(s, mid+1, right);for(i = 0; i <= s; i ++){for(j = left; j <= mid; j ++){a[i+s][j+s] = a[i][j];}for(j = mid+1; j <= right; j ++){a[i+s][j-s] = a[i][j];}}}int main(){int i, j, n, size;scanf("%d", &n);size = 1;for(i = 0; i < n; i ++){size *= 2;}for(i = 1; i <= size; i ++){a[0][i] = i;}Div(size, 1, size);for(i = 1; i < size; i ++){printf("<%d>", i);for(j = 1; j <= size; j ++){if(a[i][j] > j){printf("%d-%d ", j, a[i][j]);}}printf("\n");}return 0;}
0 0
- 算法训练 比赛安排
- 算法训练 比赛安排
- 算法训练 比赛安排
- 蓝桥杯 算法训练 比赛安排
- first,单循环比赛安排算法
- 比赛赛程安排算法--分治算法
- 比赛安排
- 比赛安排
- 比赛安排
- BNU1068:比赛安排
- bnuoj 1068 比赛安排
- Tsinsen A1103 比赛安排
- Tsinsen A1107 比赛安排
- bnuoj 1068 比赛安排
- 上班族训练安排。
- 算法比赛
- 数学训练----数论-寒假安排
- 多人单循环比赛的安排问题
- 3.1-闭包
- JAXB生成xml及转化javaBean
- 关于java堆内存溢出的几种情况
- iOS对UIView对象或子类对象截屏(截取的内容以UIImage的形式存储)
- java post raw 的示例
- 算法训练 比赛安排
- 文章标题
- 2016蓝桥杯算法训练——Torry的困惑(基本型)
- 无法将网络更改为桥接状态:没有未桥接的主机网络适配器
- Linux 双链表 list_for_each_entry 实现
- 用AT89S52控制单个舵机程序
- 寻路NavMeshAgent
- 如何利用Google成为一个更好的程序员
- centos 6.x 初始化配置,静态IP配置,IPV6禁止等