这是我的八个皇后问题的代码。我用很多测试用例检查了它,这是正确的。但当我将其提交给https://open.kattis.com/时,它注意到我的代码是错误的答案。那么,我的代码在哪里失败了?请帮忙!
public class Chesss {
/**
* @param args the command line arguments
*/
public static void main(String[] args) throws IOException {
// TODO code application logic here
int[] row = new int[8];
int[] column = new int[8];
int[] lcros= new int[15];
int[] rcros = new int[15];
for(int i=0;i<8;i++){
row[i] = 0;
column[i] = 0;
}
for(int i=0;i<15;i++){
lcros[i] = 0;
rcros[i] = 0;
}
boolean check = true;
for(int i=0;i<8;i++){
for(int j=0;j<8;j++){
char in = (char)System.in.read();
if(in=='\n'){
in = (char)System.in.read();
}
if(in=='*'){
if(row[i]==1){
check = false;
}
else{
row[i] =1;
}
if(column[j]==1){
check = false;
}
else{
column[j] =1;
}
if(lcros[i+j]==1){
check = false;
}
else{
lcros[i+j] =1;
}
if(rcros[i-j+7]==1){
check = false;
}
else{
rcros[i-j+7] =1;
}
}
}
}
if(check==true){
System.out.print("valid");
}
else
System.out.print("invalid");
}
}
答案 0 :(得分:1)
现在我们知道您的代码旨在“验证8个皇后问题的解决方案”,但您的代码存在一些问题。这里有明显最明显的两个:
我在你的代码中没有看到这一切