English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
所有分類

請求(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 電腦與網際網路 程式設計

3 個解答

以下是我想到的解法,僅供參考。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

fedest.com, questions and answers