资源简介
8 puzzle问题, C# 代码,算法设计与分析课程作业,实现简单的8 puzzle游戏,适合初学者
代码片段和文件信息
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace ALG_eight_puzzle
{
///
/// MainWindow.xaml 的交互逻辑
///
public partial class MainWindow : Window
{
public const int MAX = 10000000;
//public static int[] st = new int[MAX 9];
//public static int[] goal = new int[9];
//public static int[] dist = new int[MAX];
//public static int[] fa = new int[MAX];
//public static int[] vis = new int[362881];
public static int[] st = null;
public static int[] goal = null;
public static int[] dist = null;
public static int[] fa = null;
public static int[] vis = null;
public static int[] fact = new int[9];
public static int[] dx = { -1 1 0 0 };
public static int[] dy = { 0 0 -1 1 };
public static int result;
public static string ans;
static void init_lookup()
{
fact[0] = 1;
for (int i = 1; i < 9; i++)
{
fact[i] = fact[i - 1] * i;
}
}
static int can_insert(int t)
{
int c = 0;
for (int i = 0; i < 9; i++)
{
int cnt = 0;
for (int j = i + 1; j < 9; j++)
if (st[t j] < st[t i]) cnt++;
c += fact[8 - i] * cnt;
}
Console.WriteLine(“hash function :“ + c);
if (vis[c] == 1) return 0;
else return vis[c] = 1;
}
static int bfs()
{
init_lookup();
int front = 1 rear = 2;
fa[front] = 0;
while (front < rear)
{
bool flag = true;
for (int i = 0; i < 9; i++)
{
if (st[front i] != goal[i])
{
flag = false; break;
}
}
if (flag) return front;
int z;
for (z = 0; z < 9; z++)
if (0 == st[front z]) break;
int x = z / 3 y = z % 3;
for (int i = 0; i < 4; i++)
{
int nx = x + dx[i];
int ny = y + dy[i];
int nz = nx * 3 + ny;
if (nx >= 0 && nx < 3 && ny >= 0 && ny < 3)
{
for (int k = 0; k < 9; k++) st[rear k] = st[front k];
st[rear nz] = st[front z];
st[rear z] = s
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2012-06-21 10:43 C#源代码\
目录 0 2012-06-13 01:29 C#源代码\ALG_eight_puzzle\
目录 0 2012-06-26 00:14 C#源代码\ALG_eight_puzzle\ALG_eight_puzzle\
文件 4537 2012-06-17 21:04 C#源代码\ALG_eight_puzzle\ALG_eight_puzzle\ALG_eight_puzzle.csproj
文件 227 2012-06-17 21:26 C#源代码\ALG_eight_puzzle\ALG_eight_puzzle\ALG_eight_puzzle.csproj.user
文件 327 2012-06-13 01:28 C#源代码\ALG_eight_puzzle\ALG_eight_puzzle\App.xaml
文件 312 2012-06-13 01:28 C#源代码\ALG_eight_puzzle\ALG_eight_puzzle\App.xaml.cs
文件 3452 2012-06-18 02:12 C#源代码\ALG_eight_puzzle\ALG_eight_puzzle\MainWindow.xaml
文件 6126 2012-06-18 02:50 C#源代码\ALG_eight_puzzle\ALG_eight_puzzle\MainWindow.xaml.cs
目录 0 2012-06-13 01:28 C#源代码\ALG_eight_puzzle\ALG_eight_puzzle\Properties\
文件 2197 2012-06-13 01:28 C#源代码\ALG_eight_puzzle\ALG_eight_puzzle\Properties\AssemblyInfo.cs
文件 2882 2012-06-13 01:28 C#源代码\ALG_eight_puzzle\ALG_eight_puzzle\Properties\Resources.Designer.cs
文件 5612 2012-06-13 01:28 C#源代码\ALG_eight_puzzle\ALG_eight_puzzle\Properties\Resources.resx
文件 1101 2012-06-13 01:28 C#源代码\ALG_eight_puzzle\ALG_eight_puzzle\Properties\Settings.Designer.cs
文件 201 2012-06-13 01:28 C#源代码\ALG_eight_puzzle\ALG_eight_puzzle\Properties\Settings.settings
目录 0 2012-06-18 02:50 C#源代码\ALG_eight_puzzle\ALG_eight_puzzle\bin\
目录 0 2012-06-13 01:56 C#源代码\ALG_eight_puzzle\ALG_eight_puzzle\bin\Debug\
文件 18944 2012-06-18 02:42 C#源代码\ALG_eight_puzzle\ALG_eight_puzzle\bin\Debug\ALG_eight_puzzle.exe
文件 42496 2012-06-18 02:42 C#源代码\ALG_eight_puzzle\ALG_eight_puzzle\bin\Debug\ALG_eight_puzzle.pdb
文件 11600 2012-06-18 00:38 C#源代码\ALG_eight_puzzle\ALG_eight_puzzle\bin\Debug\ALG_eight_puzzle.vshost.exe
文件 490 2010-03-17 22:39 C#源代码\ALG_eight_puzzle\ALG_eight_puzzle\bin\Debug\ALG_eight_puzzle.vshost.exe.manifest
目录 0 2012-06-18 02:51 C#源代码\ALG_eight_puzzle\ALG_eight_puzzle\bin\Release\
文件 16384 2012-06-18 02:51 C#源代码\ALG_eight_puzzle\ALG_eight_puzzle\bin\Release\ALG_eight_puzzle.exe
文件 34304 2012-06-18 02:51 C#源代码\ALG_eight_puzzle\ALG_eight_puzzle\bin\Release\ALG_eight_puzzle.pdb
文件 11600 2012-06-18 02:50 C#源代码\ALG_eight_puzzle\ALG_eight_puzzle\bin\Release\ALG_eight_puzzle.vshost.exe
文件 490 2010-03-17 22:39 C#源代码\ALG_eight_puzzle\ALG_eight_puzzle\bin\Release\ALG_eight_puzzle.vshost.exe.manifest
目录 0 2012-06-13 01:28 C#源代码\ALG_eight_puzzle\ALG_eight_puzzle\obj\
目录 0 2012-06-18 02:50 C#源代码\ALG_eight_puzzle\ALG_eight_puzzle\obj\x86\
目录 0 2012-06-18 02:50 C#源代码\ALG_eight_puzzle\ALG_eight_puzzle\obj\x86\Debug\
文件 180 2012-06-18 01:39 C#源代码\ALG_eight_puzzle\ALG_eight_puzzle\obj\x86\Debug\ALG_eight_puzzle.Properties.Resources.resources
文件 1826 2012-06-18 02:12 C#源代码\ALG_eight_puzzle\ALG_eight_puzzle\obj\x86\Debug\ALG_eight_puzzle.csproj.FileListAbsolute.txt
............此处省略53个文件信息
- 上一篇:Modbus_TCP .net C# 通信
- 下一篇:C#版RFID无线射频识别系统
相关资源
- 大型比赛竞赛抽签系统 可打印 c# vs
- c# 开发与 mysql数据库实现的增删改查
- [源代码] 《领域驱动设计 (C# 2008 实
- SuperPuTTY-1.4.0.8.zip
- ASP.NET+SQL Server 2008 实现的学生学籍管
- C#贪吃蛇小游戏278387
- WPF动画 窗体跳转过渡动画 包含大量窗
- 淘宝4级地址库,国际-省-市-区县-街道
- 蚂蚁爬杆+图形界面+C#+ide=vs08
- 神思ss628型USB二代身份证DEMOC#
- 2008.精通LINQ数据访问技术pdf及源码
- ASP.NET Zero Core v8.1.0 (2019-12-20)
- 2018CRM C# 源码基于小黄豆CRMv2.0.925.3版
- 宾馆管理系统(c#2008access2003winform)
- DM二维码生成器85287
- 部标JT808c#解析类库
- 2008 安装 sqldmo.dll
- VS 2008 C#读写excel文件
- 大漠插件免费版完美注册版 7.1822 最新
- 2018年豆瓣最新华语电影数据
- Visual C#从入门到精通(第9版)-2018年
- 基于ASP.NET的在线考试系统
- 物料清单 bom图
- C#调用matlab画图,解决图像嵌入Winfo
- VS2008+SQL2005开源普通三层架构项目源代
- C#通讯录管理系统270589
- 基于VS2008 C#编写的简单学生成绩管理
- C#苹果橘子问题源码
- C#如何访问firebird2.5.8嵌入式小型数据
- C#学生成绩管理系统260085
评论
共有 条评论