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

A Za, A Za, Fighting...

堅信:勤能補拙

PKU 1324 Holedox Moving

問題:
http://acm.pku.edu.cn/JudgeOnline/problem?id=1324

參考:
http://hi.baidu.com/aekdycoin/blog/item/08774afbd1a29316a8d31111.html
http://clover520.blogbus.com/logs/38001465.html

思路:
用BFS求最短路徑肯定是沒有問題的,關鍵是狀態如何表示
參考別人的思路,原來蛇身只需要通過上、下、左、右四個方向表示即可(兩bits或4進制),這樣可以很大程度上減少空間,而且判重也就不再是個問題,只需要用三維數組表示即可
不過我自己寫出來的代碼卻總是MLE,悲劇...(無奈,貼了別人代碼過的,無恥啊)

代碼:
 1 #include<stdio.h>
 2 #include<stdlib.h>
 3 #include<string.h>
 4 
 5 int kk[4][2]={1,0,0,1,0,-1,-1,0},N,M,L;
 6 struct point{
 7     char x,y;
 8     int dis,body;
 9 };
10 int bfs();
11 int main(){
12     int Cas=0;
13     while(scanf("%d%d%d",&N,&M,&L)==3){
14         if(N==0&&M==0&&L==0)break;
15         printf("Case %d: %d\n",++Cas,bfs());
16     }
17     return 0;
18 }
19 char viss[20][20][1<<14];
20 int vis(struct point* t){
21     int ans=0,i=0;
22     if(viss[t->x][t->y][t->body])return 1;
23     viss[t->x][t->y][t->body]=1;
24     return 0;
25 }
26 char map[20][20],mapt[20][20];
27 char valid(int x,int y){
28     if(x<0||x>=N||y<0||y>=M||mapt[x][y])return 0;
29     return 1;
30 }
31 struct point Q[20*20*(1<<14)];
32 int head,tail;
33 int bfs(){
34     int x,y,lx,ly,i,k,nx,ny;
35     struct point t,now;
36     memset(viss,0,sizeof(viss));
37     scanf("%d%d",&lx,&ly);
38     t.x=lx-1;t.y=ly-1;t.dis=0;t.body=0;
39     for(i=1;i<L;++i){
40         scanf("%d%d",&x,&y);
41         for(k=0;k<4;++k)if(lx+kk[k][0]==x&&ly+kk[k][1]==y)break;
42         t.body|=k<<((i-1)<<1);
43         lx=x;ly=y;
44     }
45     memset(map,0,sizeof(map));
46     scanf("%d",&k);
47     for(i=0;i<k;++i){
48         scanf("%d%d",&x,&y);
49         map[x-1][y-1]=1;
50     }
51     head=tail=0;
52     Q[tail++]=t;
53     vis(&t);
54     while(head!=tail){
55         now=Q[head++];
56         if(now.x==0&&now.y==0)return now.dis;
57         
58         memcpy(mapt,map,sizeof(map));
59         mapt[x=now.x][y=now.y]=1;
60         int s=now.body;
61         for(i=1;i<L;++i,s>>=2){
62             k=s&3;
63             mapt[x=x+kk[k][0]][y=y+kk[k][1]]=1;
64         }
65         
66         for(k=0;k<4;++k){
67             if(!valid(nx=now.x+kk[k][0],ny=now.y+kk[k][1]))continue;
68             t.x=nx,t.y=ny;
69             t.body=((now.body<<2)|(3-k))&((1<<((L-1)<<1))-1);
70             t.dis=now.dis+1;
71             if(!vis(&t)){
72                 Q[tail++]=t;
73             }
74         }
75     }
76     return -1;
77 }

posted on 2010-09-03 10:05 simplyzhao 閱讀(342) 評論(0)  編輯 收藏 引用 所屬分類: B_搜索

導航

<2011年5月>
24252627282930
1234567
891011121314
15161718192021
22232425262728
2930311234

統計

常用鏈接

留言簿(1)

隨筆分類

隨筆檔案

搜索

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲午夜精品国产| 亚洲精品日韩在线| 西瓜成人精品人成网站| 午夜宅男欧美| 久久久综合网站| 欧美精品在线视频观看| 欧美视频一区在线观看| 国产精品自在在线| 激情久久婷婷| 亚洲免费高清| 欧美黄在线观看| 亚洲欧美在线播放| 在线精品国精品国产尤物884a| 一区二区三区中文在线观看| 亚洲国产精品专区久久| 亚洲视频精品| 久久蜜桃香蕉精品一区二区三区| 免费一区视频| 一本色道久久88综合日韩精品 | 国产精品夜夜嗨| 韩国美女久久| 亚洲视频一二三| 久久综合一区| 亚洲视频中文字幕| 毛片精品免费在线观看| 国产精品久久久久久影院8一贰佰| 韩日欧美一区二区三区| 亚洲午夜国产一区99re久久| 久久夜色精品国产| 激情自拍一区| 午夜久久福利| 亚洲国产精品ⅴa在线观看| 欧美激情一二区| 欧美一区国产一区| 欧美视频第二页| 亚洲精品国产精品国产自| 欧美在线播放| 一区二区三区黄色| 老司机精品导航| 国产日韩欧美亚洲| 亚洲一品av免费观看| 欧美激情一区在线| 久久久精品国产免大香伊 | 亚洲每日更新| 欧美成人综合网站| 国内精品久久久久久久影视麻豆| 亚洲午夜激情网站| 亚洲欧洲一区二区三区在线观看| 久久久久国产精品人| 国产欧美日韩激情| 羞羞色国产精品| 亚洲一区二区三区免费在线观看| 欧美激情在线播放| 亚洲欧洲在线一区| 欧美激情91| 免费久久99精品国产自在现线| 黄色成人片子| 久久一区二区三区四区| 久久超碰97人人做人人爱| 国产日产高清欧美一区二区三区| 亚洲在线视频一区| 亚洲视频一二| 国产欧美一区二区三区在线看蜜臀 | 亚洲二区视频| 久热这里只精品99re8久| 欧美一区国产在线| 韩国av一区二区| 欧美多人爱爱视频网站| 欧美成在线观看| 中国女人久久久| 亚洲午夜精品久久久久久app| 国产精品伦子伦免费视频| 亚洲欧美日韩在线播放| 久久成人免费网| 亚洲国产欧美在线人成| 亚洲精品日韩在线| 国产精品久久久久一区二区三区| 欧美一区2区三区4区公司二百| 亚洲一区在线观看视频| 国产在线视频欧美| 欧美激情第3页| 欧美日韩亚洲三区| 久久久久久精| 欧美国产国产综合| 午夜国产不卡在线观看视频| 欧美自拍丝袜亚洲| 日韩亚洲在线观看| 午夜精品在线视频| 亚洲日本va午夜在线电影| 亚洲图中文字幕| 亚洲高清电影| 亚洲一区二区三区高清| 亚洲成色最大综合在线| 中文av一区二区| 亚洲国产一区二区三区高清| 中国av一区| 亚洲毛片在线观看| 欧美专区一区二区三区| 亚洲小视频在线| 久久综合福利| 欧美一级片久久久久久久| 免费h精品视频在线播放| 欧美一级片在线播放| 欧美激情一区二区在线| 久久久蜜桃精品| 欧美亚韩一区| 亚洲黄色在线看| 一区二区视频欧美| 亚洲影视在线播放| 一本色道久久综合狠狠躁篇的优点| 欧美一级二级三级蜜桃| 亚洲自拍偷拍一区| 欧美日韩精品免费在线观看视频| 久久婷婷国产综合精品青草| 国产精品va在线播放| 亚洲国产成人午夜在线一区| 国内外成人在线| 亚洲综合好骚| 亚洲伊人伊色伊影伊综合网| 欧美国产精品一区| 欧美激情视频一区二区三区免费 | 亚洲午夜久久久| 亚洲国产精品黑人久久久| 午夜视频在线观看一区二区三区| 夜色激情一区二区| 欧美成人免费在线| 欧美国产成人精品| 一区二区在线不卡| 欧美一区国产一区| 久久久久久久综合日本| 国产精品制服诱惑| 亚洲淫性视频| 久久成人国产精品| 国产欧美一区二区色老头| 亚洲欧美电影在线观看| 香港久久久电影| 国产精品影院在线观看| 亚洲影院色在线观看免费| 亚洲欧美日韩在线不卡| 国产欧美婷婷中文| 欧美亚洲免费电影| 久久一区中文字幕| 在线观看日韩欧美| 免费影视亚洲| 亚洲美女电影在线| 亚洲欧美日韩综合一区| 国产欧美一区二区精品性| 久久免费观看视频| 欧美激情一二三区| 亚洲午夜免费福利视频| 国产精品日韩欧美| 久久狠狠一本精品综合网| 欧美成人综合在线| 一区二区三区欧美亚洲| 国产精品美女久久| 久久精品论坛| 日韩视频在线免费| 久久av二区| 亚洲人午夜精品| 国产精品亚洲综合| 免费看的黄色欧美网站| 日韩一级不卡| 久久久亚洲高清| 9久草视频在线视频精品| 国产精品午夜av在线| 久久人人超碰| 一区二区三区高清在线观看| 免费看的黄色欧美网站| 一区二区三区四区国产精品| 国产婷婷色一区二区三区在线| 老司机午夜精品视频在线观看| 99精品视频一区| 老色批av在线精品| 中文一区二区| 亚洲电影av| 国产毛片久久| 欧美激情第1页| 久久国产一区二区| 一区二区三区 在线观看视频| 久久人人97超碰精品888| 亚洲视频在线观看三级| 亚洲国产精品va在看黑人| 国产精品一区毛片| 欧美日韩福利在线观看| 久久久精品国产免大香伊| 亚洲视频一区二区在线观看| 欧美成人精品h版在线观看| 亚洲欧美国产va在线影院| 亚洲欧洲在线看| 伊人天天综合| 国产片一区二区| 国产精品国产三级国产普通话三级| 欧美精品三级| 欧美激情bt| 久久亚洲春色中文字幕| 亚洲图中文字幕| av成人免费| 亚洲乱码国产乱码精品精98午夜| 欧美高清视频一区| 久久亚洲视频|