• PUDN用户
    了解作者
  • C/C++
    开发工具
  • 1KB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • 1 积分
    下载积分
  • 117
    下载次数
  • 2008-05-21 21:59
    上传日期
循环赛 采用分治策略 N个选手只要赛N-1个场
2.rar
  • 2.txt
    986B
  • www.pudn.com.txt
    218B
内容介绍
#include <stdio.h> #include <time.h> #define MAX 101 int m[MAX][MAX] ; int is_can (int data, int len) {int k ; for(k= 1 ; k<=len ; k++) if(data == m[k][1]) return 0 ; return 1 ; } int main() {int i, j, k, h ,t; int m[MAX][MAX] ; int n ,s= 1,r=0 ; printf("input N:\n"); scanf("%d",&n ); for(i=1;i<=n;i++) s*=2 ; r= n ; n =s; for(i = 1 ; i<= n ; i++) m[1][i] = i ; h= 1 ; for( i = 1 ; i<=r; i++) { n = n / 2 ; for(j = 1 ; j<=n ; j++) for(k= h+1 ; k<= 2*h ; k++) for(t= h+1 ; t<= 2*h ; t++) {m[k][t+(j -1 )*h*2] = m[k-h][t+(j-1)*h*2-h] ; m[k][t+(j-1)*h*2-h] = m[k-h][t+(j-1)*h*2] ; } h *= 2 ; } for(i=1 ; i<=s; i++) {for(j=1 ; j<=s; j++) printf("\t%d",m[i][j]) ; printf("\n\n"); for(i=2 ; i<=s; i++) { for(j=1 ; j<=s; j++) if(m[j][i] && is_can(m[j][i],j)) { printf("\t%d",m[j][i]); /* 第一列表示1-6个选手,第二列到第六列表示各个选手在第一天到第五天的所遇到的选手*/ } printf("\n\n"); } getch(); return 0 ; } }
评论
    相关推荐
    • 循环赛编排系统.rar
      一个有友好界面的循环赛编排系统,相当好用
    • Round-robin.rar
      这是循环赛日程表的一个简单算法,基于C语言开发,可在TURB C下运行。
    • Round-robin-schedule.rar
      循环赛日程表。大学算法分析与设计的实验课题目。有递归和非递归两种方法,这里上传递归,仅供参考!
    • Round-robin.zip
      循环赛日程表 利用JAVA语言编写 分析了循环赛中的日程表安排情况
    • roud-robin-scheduling.rar
      经典的网球循环赛日程算法设计 利用了分治算法
    • Round-robin-schedule.rar
      采用了递归分治的思想,解决了循环赛日程表的安排。
    • round-robin.rar
      对任意参赛人数的循环赛赛程安排.输入参赛人数,然后算法输出循环赛赛程表.n个人的比赛需要n-1天(n为偶数)或者n天(n为基数)
    • Round-robin-schedule.rar
      循环赛日程表。大学算法分析与设计的实验课题目。有递归和非递归两种方法,这里上传递归,仅供参考!
    • berger-round-robin-tables:伯杰足球锦标赛循环表(使用Vue.js)
      伯格轮循表 项目设置 npm install 编译和热重装以进行开发 npm run serve 编译并最小化生产 npm run build 整理和修复文件 npm run lint 自定义配置 请参阅。
    • double_round_robin_schedule
      循环赛 这个小小的 ruby​​ gem 实现了 日程安排。 当您想要一个“每个参赛者依次与所有其他参赛者会面”的比赛,或者如果您有一个学生教室并希望他们成对工作,但每天与不同的合作伙伴一起工作时,这会很有用。 ...