循环赛日程表 浅浅的花香味﹌ 2022-06-18 01:55 156阅读 0赞 循环赛日程表 (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); }
相关 [C++] 分治法之棋盘覆盖、循环赛日程表 一、分治的基本思想 将一个难以直接解决的大问题,分割成一些规模较小的相同问题,以便各个击破,分而治之。 对于一个规模为 n 的问题,若问题可以容易地解决,则直接 不念不忘少年蓝@/ 2023年10月06日 09:41/ 0 赞/ 2 阅读
相关 分治法【锦标赛问题:设计一个满足以下要求的比赛日程表: (1)每个选手必须与其他n-1个选手各赛一次; (2)每个选手一天只能赛一次; (3)循环赛一共进行n-1天。】 目 录 1、问题 2、问题分析 3、程序代码(非递归) 4、程序代码(递归) 5、总结 -------------------- 1、问题 > 锦标赛问 - 日理万妓/ 2022年12月25日 11:53/ 0 赞/ 86 阅读
相关 递归-PTA循环日程表 设有N个选手进行循环比赛,其中N=2^M,要求每名选手要与其他N−1名选手都赛一次,每名选手每天比赛一次,循环赛共进行N−1天,要求每天没有选手轮空。 输入格式: 输入: 妖狐艹你老母/ 2022年12月22日 11:23/ 0 赞/ 190 阅读
相关 递归与分治策略算法之循环赛日程表 递归与分治策略算法之循环赛日程表 1、先简单的来介绍一下分治策略的思想 分治策略的基本思想是将一个规模为n的问题分解为k个规模较小的子问题,分解出来的子问题与原问题相同 我不是女神ヾ/ 2022年12月05日 12:19/ 0 赞/ 191 阅读
相关 循环赛日程表 循环赛日程表 (C++) // //Description:循环赛日程表 // include <iostream> include 浅浅的花香味﹌/ 2022年06月18日 01:55/ 0 赞/ 157 阅读
相关 循环赛问题(分治) 设有n=2k个运动员要进行网球循环赛。现要设计一个满足以下要求的比赛日程表:⑴每个选手必须与其他n-1个选手各赛一次;⑵每个选手一天只能赛一次;⑶循环赛一共进行n-1天。按此要 ゝ一世哀愁。/ 2022年06月06日 12:20/ 0 赞/ 166 阅读
还没有评论,来说两句吧...