• alexpreston
    了解作者
  • Visual C++
    开发工具
  • 1KB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • 1 积分
    下载积分
  • 13
    下载次数
  • 2012-05-10 16:29
    上传日期
循环赛日程表。大学算法分析与设计的实验课题目。有递归和非递归两种方法,这里上传递归,仅供参考!
Round-robin-schedule.rar
  • 循环赛日程表-递归.cpp
    867B
  • 循环赛日程表-非递归.cpp
    461B
内容介绍
#include <stdio.h> int main() { void sort(int n,int m,int a[][500]); int n1,n,i,j; int a[500][500];//定义一个数组 scanf("%d",&n);//输入n,则规模的大小为2的n次方 for(i=0,n1=1;i<n;i++) n1=n1*2;//n1为规模的大小 for(i=0;i<n1;i++) a[i][0]=i+1; sort(n1,0,a);//安排函数 for(i=0;i<n1;i++) { for(j=0;j<n1-1;j++) printf("%d ",a[i][j]);//输出安排的结果 printf("%d",a[i][j]); printf("\n"); } return 1; } void sort(int n,int m,int a[][500])//运用分治的方法,用递归来实现子问题的解决 { int i,j; if(n==2)//递归结束条件 { a[m+n/2][n/2]=a[m][0]; a[m][n/2]=a[m+n/2][0]; } else { sort(n/2,m,a);//递归调用 for(i=m+n/2;i<m+n;i++) for(j=n/2;j<n;j++) a[i][j]=a[i-n/2][j-n/2]; sort(n/2,m+n/2,a);//递归调用 for(i=m;i<m+n/2;i++) for(j=n/2;j<n;j++) a[i][j]=a[i+n/2][j-n/2]; } }
评论
    相关推荐
    • tennis.rar
      分治法求网球循环赛赛程 1、实验步骤和要求: 设有n个运动员要进行网球循环赛。设计一个满足下列条件的比赛日程表: 每个选手必须与其他n-1个选手各赛一次; 每个选手一天只能赛一次; 当n是偶数时,循环赛进行...
    • Round-robin-schedule.rar
      采用了递归分治的思想,解决了循环赛日程表的安排。
    • Schedule.zip
      循环赛问题,输入n个比赛选手 排列出比赛日程安排,要求n-1天比赛完成
    • round-robin-schedule.rar
      分治法 循环赛日程表 设计队伍之间的比赛安排
    • tennis1.rar
      北邮算法设计课程网球循环赛代码,使用分治算法,可以直接提交
    • Round-robin-schedule.rar
      循环赛日程表。大学算法分析与设计的实验课题目。有递归和非递归两种方法,这里上传递归,仅供参考!
    • round-robin-schedule.rar
      分治法 循环赛日程表 设计队伍之间的比赛安排
    • qbschedule:测验碗比赛的乳胶时间表
      qbschedule 是一个类,用于为锦标制定时间表,以及一系列时间表模板。 特征 循环和池循环调度 蛇种初步时间表 分层的季后赛赛程,尽可能避免重复比赛 在可行的情况下合并预赛和季后赛时间表 包括泳池名称、蜂鸣器...
    • double_round_robin_schedule
      循环赛 这个小小的 ruby​​ gem 实现了 日程安排。 当您想要一个“每个参赛者依次与所有其他参赛者会面”的比赛,或者如果您有一个学生教室并希望他们成对工作,但每天与不同的合作伙伴一起工作时,这会很有用。 ...
    • qpopper2.53.tar.Z
      pop3 server