table.java
来自「《算法设计与分析》王晓东编著」· Java 代码 · 共 44 行
JAVA
44 行
import java.util.Scanner;
public class Table {
public static int[][] table;
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in = new Scanner(System.in);
System.out.print("Please input the number of players n(n=2^k):");
int n = in.nextInt();
table = new int[n][n];
for(int i=0;i<n;i++){
table[i][0] = i+1;
}
table(0,0,n);
System.out.print("Match table:\n");
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
System.out.print(table[i][j]+"\t");
}
System.out.println();
}
}
public static void table(int x,int y,int size){
if (size==1) return;
int s = size/2;
table(x,y,s);
table(x+s,y,s);
copyArea(x+s,y,x,y+s,s);
copyArea(x,y,x+s,y+s,s);
}
public static void copyArea(int sx,int sy,int dx,int dy,int s){
for(int i=0;i<s;i++){
for(int j=0;j<s;j++)
table[dx+i][dy+j] = table[sx+i][sy+j];
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?