hdu1010深搜+奇偶剪枝
生活随笔
收集整理的這篇文章主要介紹了
hdu1010深搜+奇偶剪枝
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
奇偶剪枝:把map看作
0 1 0 1 0 1
1 0 1 0 1 0
0 1 0 1 0 1
1 0 1 0 1 0
0 1 0 1 0 1
?
從 0->1 需要奇數步
從 1->0 需要偶數步
那么設所在位置 (si,sj) 與 目標位置 (di,dj)
如果abs(si-sj)+abs(di-dj)為偶數,則說明 abs(si-sj) 和 abs(di-dj)的奇偶性相同,需要走偶數步
如果abs(si-sj)+abs(di-dj)為奇數,那么說明 abs(si-sj) 和 abs(di-dj)的奇偶性不同,需要走奇數步
理解為 abs(si-sj)+abs(di-dj) 的奇偶性就確定了所需要的步數的奇偶性!!
而 (t-cnt)表示剩下還需要走的步數,由于題目要求要在 t時 恰好到達,那么? (t-cnt) 與 abs(si-sj)+abs(di-dj) 的奇偶性必須相同
因此 temp=t-cnt-abs(sj-dj)-abs(si-di) 必然為偶數!
?
其實很簡單,就是從一個點到另一個點總會有最短路徑abs(sj-dj)-abs(si-di),如果你要迂回走,總要走多偶數步才能到達。
?
轉載于:https://www.cnblogs.com/wanru/archive/2013/04/14/3020485.html
總結
以上是生活随笔為你收集整理的hdu1010深搜+奇偶剪枝的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 浅谈Java中的数据类型以及面向对象
- 下一篇: 由歌词引发的模式思考之下篇(模拟Spri