⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 round-robin.txt

📁 这是循环赛日程表的一个简单算法
💻 TXT
字号:
#include<fstream>
int board[16][16];
void exchange(int begin,int m);
void table(int k);void main()
{
 int n=16;

 std::ofstream to("output.txt");
 for(int i=0;i<n;i++)
 for(int j=0;j<n;j++)
 board[i][j]=0;
 table(4);
for(i=0;i<16;i++)
  { 
   for(int j=0;j<16;j++)
    to<<board[i][j]<<" ";
   to<<"\n";
  }

  to.close();
  
  
}
void exchange(int begin,int m)
{//begin需要交换的初始化位置,m为步长

 for(int i=0;i<m;i++)
  for(int j=0;j<2*m;j++)
   board[i+m][(j+m)%(2*m)+begin]=board[i][j+begin];

}
void table(int k)
{
 
 int n=1;
 for(int i=1;i<=k;i++)n*=2;
 for(int j=0;j<n;j++)board[0][j]=j+1;


 int m=1;//m为步长
 int col,row;

 
 //row=0;
 while(m<n)
 {
 
  col=0;
  while(col<n)//每次分成n/2m段
  {
  
   exchange(col,m);
   col=col+2*m;
  }
  m=2*m;//步长翻倍增加
 }

 

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -