程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> ASP.NET 2.0下的數獨解算器

ASP.NET 2.0下的數獨解算器

編輯:關於ASP.NET

數獨游戲 在9x9的方格內進行, 分為3x3的小方格,被稱為“區”。

數獨游戲首先從已經填入數字的格子開始。

數獨游戲的目的是根據下列規則,用1至9之間的數字填滿空格:

每個數字在每一行、每一列和每一區只能出現一次。

我在 Linux 服務器(請參見“在 Linux 下運行 ASP.NET 2.0”)上用 ASP.NET 2.0 實現了一個數獨解算器。

http://www.sudoku.name 網站上也有一個用戶界面相當不錯的“數獨解算器” ,但是其算法太差了,運算速度比我的算法慢多了。以其網站上的“#5328”謎題(也是我的數獨解算器的例題)為例,它需要大約四個小時才能給出答案,而我的解算器不到一秒鐘就可以給出答案。從它的運算過程來算,估計是逐個空格進行解算。而我的算法是先找出能填入數字個數最少的空格進行解算。算法這個微小的改進,就極大地提高了計算效率。好了,廢話少說,下面就是源程序:

1. sudoku.aspx:

1<%@ Page Language="C#" inherits="Skyiv.Ben.Web.SudokuPage" %>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
       "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml" >
4<head runat="server">
5 <title>銀河 - 數獨</title>
6</head>
7<body>
8 <form id="form1" runat="server">
9 <asp:Button Text="返回" OnClick="BtnUriHome_Click" runat="server" />
10 <asp:Button Text="開始" OnClick="BtnSubmit_Click" runat="server" />
11 <hr />
12 <div>
13 <a href="http://www.sudoku.name/index-cn.php" target="_blank">數獨游戲</a>
14 在9x9的方格內進行, 分為3x3的小方格,被稱為“區”。<br />
15 數獨游戲首先從已經填入數字的格子開始。<br />
16 數獨游戲的目的是根據下列規則,用1至9之間的數字填滿空格:<br />
17 http://www.knowsky.com 每個數字在每一行、每一列和每一區只能出現一次。<br />
18 </div>
19 <div>
20 <asp:TextBox Runat="Server" Id="tbxInput" MaxLength="512" Wrap="False"
21  TextMode="MultiLine" Columns="15" Rows="14" />
22 <asp:TextBox Runat="Server" Id="tbxOutput" ReadOnly="True" Wrap="False"
23  TextMode="MultiLine" Columns="15" Rows="14" />
24 </div>
25 </form>
26</body>
27</html>
28

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved