题目描述: 代码如下: #include <stdio.h> #include <stdlib.h> #include <string.h> #define N 1000000 #define HN 1000003 #define LEN 9 int head[HN],next[N]; int st[N][LEN], goal[LEN]; int dis[N]; //记录步数 int Hash(int *st)//获取本次排列组合的哈希值 { int i,v; v =…
在一个n*n的矩阵里走,从原点(0,0)開始走到终点(n-1,n-1),仅仅能上下左右4个方向走.仅仅能在给定的矩阵里走,求最短步数. n*n是01矩阵,0代表该格子没有障碍.为1表示有障碍物. int mazeArr[maxn][maxn]; //表示的是01矩阵 int stepArr[4][2] = {{-1,0},{1,0},{0,-1},{0,1}}; //表示上下左右4个方向 int visit[maxn][maxn]; //表示该点是否被訪问过.防止回溯,回溯非常耗时. 解题思路:…
http://acm.hdu.edu.cn/showproblem.php?pid=3567 Eight II Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 130000/65536 K (Java/Others)Total Submission(s): 4541 Accepted Submission(s): 990 Problem Description Eight-puzzle, which is also calle…
[poj1465]Multiple Time Limit: 1000MS Memory Limit: 32768K Total Submissions: 7731 Accepted: 1723 Description a program that, given a natural number N between 0 and 4999 (inclusively), and M distinct decimal digits X1,X2..XM (at least one), finds…