/**
- 分治法-球队循环赛事日程安排,球队数量最好是2的n次方,不然日程安排会出现空隙
- 采用分治法进行处理,将日程安排分成四个象限来处理
*/
public class Round Match {
public void round Match(int[][] table, int n) {
if (n == 1) {
table[0][0] = 1;
return;
}
int m = n / 2;
// 先填充左上区域
round Match(table, m);
// 右上区域
for (int i = 0; i < m; i++) {
for (int j = m; j < n; j++) {
table[i][j] = table[i][j - m] + m;
}
}
// 左下区域
for (int i = m; i < n; i++) {
for (int j = 0; j < m; j++) {
table[i][j] = table[i - m][j] + m;
}
}
// 右下区域
for (int i = m; i < n; i++) {
for (int j = m; j < n; j++) {
table[i][j] = table[i - m][j - m];
}
}
}
public sta