120 条题解
-
0饕饕不绝 LV 8 @ 2009-09-15 18:39:02
暴力广搜全0ms
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms -
02009-09-03 13:10:08@
康托展开真好用
-
02009-08-27 17:50:00@
做了一下午。。。。。
终于过了。。。
-
02009-08-08 11:51:18@
const goal='123804765';
vx:array[1..4] of integer=(1,-1,3,-3);
maxn=1000000;
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
type rec=record s:string[9];step:longint;end;
re=record s:string[9];v:boolean;end;
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
var opt:array[0..maxn] of rec;
flag:array[0..maxn] of re;
i,j,n,m,x,w,k:longint;
v:boolean;
st,y:string;
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
function hash(s:string):longint;
begin
val(s,hash);
hash:=hash mod maxn;
end;
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
procedure outit;
begin
if opt[m].s=goal then
begin
writeln(opt[m].step);halt;
end;
end;
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
begin
readln(st);
opt[1].s:=st; opt[1].step:=0;x:=hash(st);
flag[x].s:=st;
flag[x].v:=true;
i:=1;j:=1;while i0)and(w+vx[k]
-
02009-08-03 17:48:29@
此题不需无解判断
所以......
超级朴素单向BFS加一个超级大Hash
全0ms秒杀 -
02009-08-02 11:07:21@
康托展开 + 单向BFS =AC
function hash(str:string):longint;
var temp:array[1..9] of longint;
use:array[1..9] of boolean;
i,j,t,en:longint;
begin
fillchar(use,sizeof(use),true);
en:=1;
for i:= 1 to 9 do
temp[i]:=ord(str[i])-ord('0')+1;
for i:= 1 to 9 do
begin
use[temp[i]]:=false;
t:=0;
for j:= 1 to 9 do
if ( use[j] ) and ( j < temp[i] ) then
inc(t);
en:=en+t*jiechen[9-i];
end;
exit(en);
end; -
02009-08-01 22:42:01@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms -
02009-07-15 16:01:15@
编译通过...
├ 测试数据 01:答案正确... 306ms
├ 测试数据 02:答案正确... 291ms
├ 测试数据 03:答案正确... 259ms
├ 测试数据 04:答案正确... 291ms
├ 测试数据 05:答案正确... 291ms
├ 测试数据 06:答案正确... 291ms
├ 测试数据 07:答案正确... 291ms
├ 测试数据 08:答案正确... 275ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:2295ms
用链表建搜索树判重+广搜...爆慢-_-!!! -
02009-07-05 15:04:23@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms广搜+康拓展开
-
02009-06-27 17:48:14@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 9ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:9ms -
02009-06-18 18:13:12@
啊啊啊!!
双向调了一小时!!不过0MS AC.. -
02009-06-18 16:23:28@
编译通过...
├ 测试数据 01:答案错误...
├ Hint: 应该是错了 ├ 标准行输出
├ 错误行输出
├ 测试数据 02:答案错误...
├ Hint: 应该是错了 ├ 标准行输出
├ 错误行输出
├ 测试数据 03:答案错误...
├ Hint: 应该是错了 ├ 标准行输出
├ 错误行输出
├ 测试数据 04:答案错误...
├ Hint: 应该是错了 ├ 标准行输出
├ 错误行输出
├ 测试数据 05:答案错误...
├ Hint: 数据比较大 ├ 标准行输出
├ 错误行输出
├ 测试数据 06:答案错误...
├ Hint: 数据比较大 ├ 标准行输出
├ 错误行输出
├ 测试数据 07:答案错误...
├ Hint: 数据比较大 ├ 标准行输出
├ 错误行输出
├ 测试数据 08:答案错误...
├ Hint: 数据比较大 ├ 标准行输出
├ 错误行输出
---|---|---|---|---|---|---|---|-
Unaccepted 有效得分:0 有效耗时:0ms我好强悍呀!
-
02009-07-09 21:53:27@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms广搜
-
02009-05-25 16:24:59@
不会A*……
用康托展开判重,再宽搜就行了……
0ms秒杀…… -
02009-05-18 19:03:06@
From yours
八数码问题背景 Background
Yours和zero在研究A*启发式算法.拿到一道经典的A*问题,但是他们不会做,请你帮他们.描述 Description
在3×3的棋盘上,摆有八个棋子,每个棋子上标有1至8的某一数字。棋盘中留有一个空格,空格用0来表示。空格周围的棋子可以移到空格中。要求解的问题是:给出一种初始布局(初始状态)和目标布局(为了使题目简单,设目标状态为123804765),找到一种最少步骤的移动方法,实现从初始布局到目标布局的转变。输入格式 Input Format
输入初试状态,一行九个数字,空格用0表示输出格式 Output Format
只有一行,该行只有一个数字,表示从初始状态到目标状态需要的最少移动次数(测试数据中无特殊无法到达目标状态数据)样例输入 Sample Input
283104765样例输出 Sample Output
4 -
02009-05-15 14:11:15@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 9ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 9ms
正搜0 反搜18
hash+广搜~ ~ -
02009-05-05 20:15:16@
编译通过...
├ 测试数据 01:答案正确... 166ms
├ 测试数据 02:答案正确... 134ms
├ 测试数据 03:答案正确... 150ms
├ 测试数据 04:答案正确... 134ms
├ 测试数据 05:答案正确... 134ms
├ 测试数据 06:答案正确... 103ms
├ 测试数据 07:答案正确... 150ms
├ 测试数据 08:答案正确... 119ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:1090ms哈希加广搜,因为是逆推没能0ms~
-
02009-04-01 19:08:34@
用了个方便的方法,
DFS出0~8的全排列 + 二分查HASH + BFS -
02009-02-20 21:22:12@
双向广度优先搜索+hash判重=0ms AC
-
02009-02-15 22:12:20@
深搜大家试没
效率也很好
全0ms
注意:细心啊~~~~~我交了3次 把0写成1~
注意输入格式