青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

糯米

TI DaVinci, gstreamer, ffmpeg
隨筆 - 167, 文章 - 0, 評論 - 47, 引用 - 0
數據加載中……

HDU 2822 Dogs 寬搜

這題用普通的寬搜可以解決。
關鍵問題在于由于是寬搜,隊列里面的元素的step字段必須是從前往后遞增的。
在碰到一大堆聯通的'X'之后,必須另外進行一次遍歷,同時的把這些'X'插入到隊列中,保持step字段的遞增。
這樣做復雜度并不改變。

#include <stdio.h>

#define NR 1024

struct node {
    
short x, y;
    
int s;
}
;
char map[NR][NR];
struct node Q[NR*NR];
int W, H;
int sx, sy, ex, ey;
int h, t, h2;

inline 
int inrange(short x, short y)
{
    
return x >= 0 && x < W && y >= 0 && y < H;
}


inline 
void push2(short x, short y, int s)
{
    
if (!inrange(x, y))
       
return ;
    
if (map[y][x] == 'X' || map[y][x] == '.'{
//        printf("p2 %d %d %d\n", x, y, s);
        Q[t].x = x;
        Q[t].y 
= y;
        
if (map[y][x] == '.'{
            map[y][x] 
= '#';
            Q[t].s 
= s + 1;
        }
 else {
            map[y][x] 
= '$';
            Q[t].s 
= s;
        }

        t
++;
    }

}


inline 
void bfs2(short x, short y, int s)
{
    
struct node n;

    push2(x, y, s);
    h2 
= t - 1;
    
while (h2 != t) {
        n 
= Q[h2++];
        
if (map[n.y][n.x] == '#')
            
continue;
        push2(n.x 
- 1, n.y, n.s);
        push2(n.x 
+ 1, n.y, n.s);
        push2(n.x, n.y 
- 1, n.s);
        push2(n.x, n.y 
+ 1, n.s);
    }

}


inline 
void push(short x, short y, int s)
{
    
if (!inrange(x, y)) 
        
return ;
    
if (map[y][x] == '.'{
//        printf("p %d %d %d\n", x, y, s);
        Q[t].x = x;
        Q[t].y 
= y;
        Q[t].s 
= s + 1;
        t
++;
        map[y][x] 
= '@';
    }
 else if (map[y][x] == 'X')
        bfs2(x, y, s);
}


inline 
int bfs()
{
    
struct node n;

    t 
= h = 0;
    push(sx, sy, 
0);
    
while (t != h) {
        n 
= Q[h++];
        
if (n.x == ex && n.y == ey)
            
return n.s;
        
if (map[n.y][n.x] == '$')
            
continue;
        push(n.x 
- 1, n.y, n.s);
        push(n.x 
+ 1, n.y, n.s);
        push(n.x, n.y 
- 1, n.s);
        push(n.x, n.y 
+ 1, n.s);
    }

}


int main()
{
    
int i;

    
while (scanf("%d%d"&H, &W), H) {
        
for (i = 0; i < H; i++)
            scanf(
"%s", map[i]);
        scanf(
"%d%d%d%d"&sy, &sx, &ey, &ex);
        sy
--; sx--; ey--; ex--;
        printf(
"%d\n", bfs());
    }


    
return 0;
}

posted on 2010-10-25 22:06 糯米 閱讀(273) 評論(0)  編輯 收藏 引用


只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            老巨人导航500精品| 日韩午夜在线| 欧美极品影院| 欧美日本一区二区高清播放视频| 欧美成熟视频| 欧美黄色片免费观看| 欧美电影免费网站| 国产精品国产三级国产普通话99| 日韩午夜三级在线| 国产女主播一区| 1024成人| 在线亚洲欧美视频| 亚洲欧美日韩一区在线| 久久伊人亚洲| 欧美国产日韩二区| 亚洲午夜精品久久| 麻豆亚洲精品| 国产欧美大片| 日韩午夜在线视频| 在线亚洲一区| 国内外成人在线视频| 亚洲国产高清aⅴ视频| 亚洲在线一区| 欧美国产日产韩国视频| 亚洲淫片在线视频| 欧美精品日韩www.p站| 国外成人在线| 亚洲免费在线视频| 欧美成人精品h版在线观看| 亚洲欧美另类国产| 欧美日韩国产小视频在线观看| 国产欧美不卡| 亚洲一区二区三区免费在线观看 | 亚洲精品一区二区三区不| 亚洲欧美日韩精品久久久| 欧美激情aⅴ一区二区三区| 亚洲视频在线看| 欧美高清一区二区| 在线日本成人| 久久精品国产99国产精品澳门| 91久久久久久久久| 久久精品国产久精国产思思| 国产精品国产a| 亚洲视频狠狠| 91久久精品国产91久久性色tv| 欧美在线观看网址综合| 国产欧美日韩视频在线观看| 亚洲欧美日韩国产成人精品影院| 亚洲人体影院| 欧美日韩国产123区| 亚洲精品日韩在线| 欧美大胆a视频| 牛夜精品久久久久久久99黑人 | 亚洲欧美中文日韩在线| 99热这里只有成人精品国产| 欧美日韩美女一区二区| 亚洲免费av网站| 91久久精品国产91久久性色tv| 欧美精品福利视频| 一区二区三区国产盗摄| 亚洲久久视频| 尤物精品国产第一福利三区 | 久久国产精品久久精品国产| 亚洲天堂av高清| 国产欧美精品一区二区三区介绍| 欧美永久精品| 久久精品人人做人人爽电影蜜月| 亚洲电影免费在线| 欧美顶级艳妇交换群宴| av不卡在线看| 亚洲欧美精品一区| 激情国产一区| 亚洲国产另类久久久精品极度| 欧美精品一区视频| 亚洲综合电影一区二区三区| 亚洲欧美精品在线| 亚洲国产欧美日韩精品| 亚洲激情一区| 国产精品外国| 美国成人毛片| 欧美精品黄色| 欧美在线短视频| 欧美成人免费一级人片100| 在线一区免费观看| 欧美一区二区三区在线看| 亚洲国产99| 一区二区三区欧美在线观看| 国产一区二区高清视频| 欧美黄色大片网站| 国产精品剧情在线亚洲| 美女91精品| 国产精品久久久久一区二区| 久久中文字幕一区二区三区| 欧美巨乳在线| 久久理论片午夜琪琪电影网| 欧美精品一区二区三区高清aⅴ| 欧美在线三区| 欧美日韩国产经典色站一区二区三区| 久久综合综合久久综合| 午夜精品久久| 欧美大片免费观看| 久久久夜精品| 国产精品国产福利国产秒拍| 欧美福利视频在线观看| 国产精一区二区三区| 亚洲国产三级网| 韩日视频一区| 亚洲一级在线| 日韩一区二区福利| 久久亚洲私人国产精品va| 欧美有码在线观看视频| 国产精品第一页第二页第三页| 奶水喷射视频一区| 国产人成一区二区三区影院| 一本色道久久综合精品竹菊| 最新国产の精品合集bt伙计| 久久精品国产91精品亚洲| 欧美怡红院视频| 国产精品www网站| 亚洲三级毛片| 亚洲精品久久在线| 久久久噜噜噜久久久| 欧美在线视频在线播放完整版免费观看 | 久久国产福利国产秒拍| 欧美日韩精品一区二区天天拍小说 | 亚洲国产精品www| 久久国产主播精品| 久久国产精品黑丝| 国产欧美日韩一区二区三区在线观看 | 亚洲欧美日韩精品久久亚洲区 | 国产精品蜜臀在线观看| 一区二区高清| 亚洲综合电影一区二区三区| 欧美三级黄美女| 一本一道久久综合狠狠老精东影业| 亚洲美女精品久久| 欧美1区免费| 亚洲人永久免费| 一区二区高清在线| 欧美性猛片xxxx免费看久爱 | 欧美一区二区播放| 久久精品国产99| 韩国女主播一区| 欧美va天堂| 亚洲老司机av| 午夜视频精品| 狠狠色噜噜狠狠色综合久| 久久久亚洲人| 亚洲国产精品久久久久| 一区二区三区高清视频在线观看 | 欧美国产成人精品| 日韩亚洲欧美精品| 欧美一二区视频| 国产一区二区三区久久久久久久久| 欧美在线欧美在线| 欧美高清视频在线观看| 亚洲午夜精品久久久久久app| 欧美日韩在线视频观看| 亚洲一级片在线观看| 久久亚洲精品一区| 99综合电影在线视频| 国产精品日韩一区二区三区| 久久精品99无色码中文字幕| 亚洲激情成人| 欧美亚洲一区二区在线观看| 在线精品国精品国产尤物884a| 欧美日韩精品不卡| 久久精品理论片| 亚洲人屁股眼子交8| 久久精品视频在线看| 亚洲精品系列| 中文欧美日韩| 欧美精品国产一区| 亚洲欧美国产毛片在线| 亚洲第一免费播放区| 欧美亚洲在线| 一区二区三区.www| 狠狠入ady亚洲精品| 欧美日韩一区在线播放| 欧美一二三区精品| 亚洲国产日本| 久久精品一区四区| 99精品热视频| 在线欧美日韩国产| 国产精品专区h在线观看| 欧美国产日产韩国视频| 欧美专区一区二区三区| 亚洲天堂av图片| 99国内精品久久| 91久久精品视频| 欧美日韩国产三区| 奶水喷射视频一区| 久久久久久网站| 欧美一区二区日韩| 亚洲淫性视频| 一区二区三区日韩欧美精品| 亚洲区免费影片| 欧美国产日韩精品| 欧美.日韩.国产.一区.二区| 久久久国际精品|