循环赛日程表

来源:互联网 发布:程序员女生性格 编辑:程序博客网 时间:2024/04/28 16:20

循环赛日程表 (C++)

////Description:循环赛日程表//#include <iostream>#include <math.h>using namespace std;int array[100][100];void output(int k){ cout << "\n循环赛日程表为 " << endl; for (int z = 1; z <= pow(2, k); z++){for (int m = 1; m <= pow(2, k); m++){cout << array[z] << '\t';}cout << endl;}}void ttt(int k, int  array[100][100]){int n = 1;for (int i = 1; i <= k; i++)n *= 2;for (int p = 1; p <= n; p++)array[1][p] = p;int m = 1;for (int s = 1; s <= k; s++){n /= 2;for (int t = 1; t <= n; t++)for (int a = m + 1; a <= 2 * m; a++)for (int b = m + 1; b <= 2 * m; b++){array[a][b + (t - 1)*m * 2] = array[a - m][b + (t - 1)*m * 2 - m];array[a][b + (t - 1)*m * 2 - m] = array[a - m][b + (t - 1)*m * 2];}m *= 2;} }void main(){int k;cout << "输入k的数值(比赛人数为 2^k)\n" << endl;cin >> k;ttt(k, array);output(k);}