帮我修改下这个程序
来源:百度知道 编辑:UC知道 时间:2024/06/04 00:24:17
import java.util.*;
import java.lang.*;
public class Trelawney{
static final int COLOUR_BLACK = 1;
static final int COLOUR_WHITE = 2;
static int[][] colour_table = new int[10000][10000];
public static int get_colour(int ebony, int ivory){
if (colour_table[ebony][ivory] != 0)
return colour_table[ebony][ivory];
if(ebony == 0){
if(ebony != ivory)
return COLOUR_BLACK;
}
if(ivory == 0){
if(ebony != ivory)
return COLOUR_WHITE;
}
if(ivory > ebony)
return get_colour(ebony,ebony);
if(get_colour((ebony-ivory),(ivory -1)) == get_colour(ebony,(ivory-1))){
if(ebony != ivory)
return COLOUR_WHITE;
}
if(ebony !=ivory){
return COLOUR_BLACK;
import java.util.*;
import java.lang.*;
public class Trelawney{
static final int COLOUR_BLACK = 1;
static final int COLOUR_WHITE = 2;
static int[][] colour_table = new int[10000][10000];//这里有问题,数组空间太大,改小点
public static int get_colour(int ebony, int ivory){
if (colour_table[ebony][ivory] != 0)
return colour_table[ebony][ivory];
if(ebony == 0){
if(ebony != ivory)
return COLOUR_BLACK;
}
if(ivory == 0){
if(ebony != ivory)
return COLOUR_WHITE;
}
if(ivory > ebony)
return get_colour(ebony,ebony);
if(get_colour((ebony-ivory),(ivory -1)) == get_colour(ebony,(ivory-1))){//还有这里,第一次循环ivory的值是0,0-1=-1,数组下标越界.
if(ebony != ivory)
return COLOUR_WHITE;
}
if(ebony !=ivory){
r