作者evageline (我想我比你多一些...)
看板PHQclass06
標題再度求救....@@
時間Sun Apr 13 22:58:17 2003
如果有人能救我的話...呵^^"
拜託拜託大家一下啦....我實在不行了@@
汪大姐有在上這個版嗎@@
import java.io.*;
import java.lang.Object;
public class EightQueen_2
{
static BufferedReader in = new BufferedReader ( new InputStreamReader
( System.in ) );
public static void main(String[] arg) throws IOException
{
int[] chess=new int[8];
System.out.println (" The eight queen answer is...... ");
Solution sol = new Solution();
sol.SetChess(0,chess,0);
/*呼叫eight queen 的解法,從第0個queen開始解*/
}
}
class Solution
{
int[][] eightqueen=new int[92][8];
int i,j,temp;
int SetChess (int queen,int[] chess,int times )
/*傳入第幾個queen,陣列及解法次數*/
{
int check=0;
if(queen==8) /*queen==8時,呼叫answer紀錄,使check=1代表成功*/
{
check=1;
times++;
answer(solution(times),chess);
return check;
}
for(i=0;i<8;i++) /*從第0個位置開始看*/
{
for(j=1;j<=queen;j++)
/*從現在這個queen往前看,檢查是否重複在同一直線或斜對角線上*/
{
temp=chess[queen-j];
if(temp==i)
break;
else if((temp-i)==j)
break;
else if((i-temp)==j)
break;
}
if (j>queen)
{
if(SetChess(queen+1,chess,times)==1)
/*若後面的也是都可以的,則紀錄下這個位置*/
{
chess[queen]=i;
check=1;
}
else
continue;
}
}
return check;
}
int solution(int i) /*紀錄成功次數*/
{
int total=i;
return total;
}
void answer(int num,int[] chess) /*存入陣列*/
{
eightqueen[num]=chess;
System.out.println(eightqueen[num]);
}
}
--
※ 發信站: 批踢踢實業坊(ptt.csie.ntu.edu.tw)
◆ From: 61.230.25.198
→ abacada:直接丟水球問他啦 推 61.223.93.89 04/13
→ evageline:她不在站上吧@@ 推 61.230.25.198 04/13
→ abacada:那就寄信請他來看啊 推 61.223.93.89 04/13
→ mumuwang:陳俊良出八后?? 推 140.112.30.60 04/15
→ mumuwang:禮拜四再看ok嘛? 這三天考五科T T 推 140.112.30.60 04/15
→ evageline:哇....汪大姐耶...呵....真是謝謝你呀^o^ 推 61.230.29.112 04/15
→ evageline:等你考完試吧^^......謝囉 推 61.230.29.112 04/16