Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

高一的时候,就看到过这道题目,到现在大一,才A掉。。。。

Posted by Ultramanhu at 2009-04-22 15:36:00 on Problem 1184
有些混乱,理清思路。
我单向BFS,担心TLE,用了位运算,数字有10个,所以要用4bit,16进制,主要用了2个操作。
t = r & ~((r >> 4) << 4);——取4位,相当于16进制取模运算,相当于r % 16
t = (t << 4) | r;——做加法,相当于t * 16 + r,这个大家看得懂的。
记录的话,用十进制,开6000000的布尔数组。
做一个优化,搜数字的时候在目标状态没有改数字的情况下,只做up,down就行了,因为是有这2个动作是改变数值的。这个剪枝非常重要。
BFS,用了容器queue。
另外,值得注意的是,有beginNode == endNode的yd情况,输出0。因为这个,WA了很多次。
解决一个3年的历史遗留问题,的确心情非常好。

Followed by:

Post your reply here:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator