請求(N平方-1) puzzle的程式碼
N為一任意數.. 最小為3 最大數能越大越好
例如輸入N為3的話 就變成 8 puzzle
N為4 就是 15 puzzle
決定N為多少之後就給一個亂數的陣列
並將他排列好
例如一開始輸入N為4
就給一個亂數的15 puzzle
完成後如下
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15
使用深度或廣度搜尋皆可
並且可以記錄步驟
現在的問題在於不知道該如何做出可以讓使用者選擇N為多少
並讓電腦亂數產生一個和N相對應的 puzzle
排列到完成並列出所有的步驟也是一個問題
不知道有沒有高手能夠貼出完整的程式碼讓我參考?
若覺得20點太少可以跟我說~ ^^
2006-06-09 14:53:56 · 3 個解答 · 發問者 小強 1 in 電腦與網際網路 ➔ 程式設計
以下是我想到的解法,僅供參考。import java.io.*;public class NPuzzle { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); System.out.print("請輸入N值: "); int N = Integer.parseInt(br.readLine()); // 讀入N值 int x = N * N - 1; // 算出拼圖大小 int[] ary = new int[x]; for (int i = 1; i <= x; i++) { int pos = (int)(Math.random() * x); // 亂數取位置 while (ary[pos] != 0) { // 若該位置已有數字,則重取位置 pos = (int)(Math.random() * x); } ary[pos] = i; } for (int i = 0; i < x; i++) { System.out.print(ary[i] + "\t"); if (i % N == N-1) System.out.println(); // 若除以N後餘數為N-1則換行 } }}
2006-06-09 17:04:44 · answer #1 · answered by ? 7 · 0⤊ 0⤋
手機刪除line照片不見真的難過
這家案例夠多,手機記憶體內外都可以,也沒限什麼牌子三星,HTC,SONY都可以,不過要等的比較久才知道原來要分析不是換零件哪麼簡單,心急吃不了熱豆腐,http://www.datahelp.com.tw
htt[://www.data1.com.tw
2015-03-21 04:41:27 · answer #2 · answered by 筱名 1 · 0⤊ 0⤋
這根本不是 puzzle 的解
2006-10-18 20:35:52 · answer #3 · answered by clowread 3 · 0⤊ 0⤋