Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
恩,加油吧。In Reply To:高一的时候,就看到过这道题目,到现在大一,才A掉。。。。 Posted by:Ultramanhu at 2009-04-22 15:36:00 > 有些混乱,理清思路。 > 我单向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: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator