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

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>
            亚洲三级网站| 亚洲国产精品久久精品怡红院| 一区二区三区视频观看| 裸体一区二区| 欧美成人免费在线视频| 另类天堂视频在线观看| 免费成人av在线| 久久综合五月| 亚洲第一在线综合网站| 亚洲卡通欧美制服中文| 宅男66日本亚洲欧美视频| 一本到12不卡视频在线dvd| 亚洲午夜久久久| 亚洲欧美美女| 麻豆精品一区二区综合av| 韩国视频理论视频久久| 国产精品国产福利国产秒拍 | 亚洲欧美制服中文字幕| 欧美一级电影久久| 国产自产v一区二区三区c| 亚洲精品少妇| 亚洲视频综合| 欧美成人第一页| 欧美日韩午夜在线| 国产视频一区二区三区在线观看| 国产亚洲一区二区三区在线观看| 亚洲国产成人av在线| 宅男噜噜噜66一区二区| 欧美在线观看网址综合| 欧美国产在线电影| 欧美日韩视频免费播放| 裸体一区二区| 欧美 日韩 国产一区二区在线视频| 欧美国内亚洲| 国产欧美精品在线播放| 亚洲精品1区| 欧美在线观看网址综合| 亚洲精品一区二区三区婷婷月| 性一交一乱一区二区洋洋av| 欧美精品久久久久久| 激情丁香综合| 欧美一区综合| 一本色道久久综合亚洲91| 久久亚洲影音av资源网| 国产精品揄拍500视频| 亚洲精品在线二区| 久久影视三级福利片| 亚洲曰本av电影| 欧美一区二区三区免费视频| 国产视频一区二区在线观看| 亚洲一区二区免费看| 亚洲精品人人| 亚洲欧美日产图| 免费人成精品欧美精品| 亚洲网站在线| 一区二区不卡在线视频 午夜欧美不卡'| 欧美在线高清视频| 日韩亚洲欧美中文三级| 免费试看一区| 亚洲国产精品久久人人爱蜜臀| 欧美在线三级| 亚洲一区二区久久| 欧美日韩视频在线观看一区二区三区 | 激情六月综合| 亚洲精品视频在线看| 久久亚洲精品一区二区| 午夜精品久久久久久久白皮肤| 欧美日韩精品免费观看视一区二区 | 亚洲欧美电影在线观看| 欧美午夜剧场| 午夜在线成人av| 亚洲欧美国产高清va在线播| 国产精品视频第一区| 午夜视频在线观看一区二区| 一本一本久久a久久精品综合妖精| 欧美精品福利视频| 日韩视频在线永久播放| 亚洲国产高清视频| 欧美超级免费视 在线| 欧美成人午夜激情视频| 亚洲国产裸拍裸体视频在线观看乱了中文 | 欧美精品久久久久久久久久| 亚洲精品日日夜夜| 亚洲人成欧美中文字幕| 欧美日韩午夜激情| 翔田千里一区二区| 欧美一区二区三区四区在线观看| 国产日韩视频| 美玉足脚交一区二区三区图片| 久久男女视频| 日韩视频一区二区三区在线播放 | 久久人人爽人人爽| 国产精品乱码久久久久久| 久久激情婷婷| 欧美视频免费在线| 久久福利精品| 一区在线免费观看| 欧美jizzhd精品欧美巨大免费| 久久久亚洲国产美女国产盗摄| 亚洲男人的天堂在线观看| 国产在线欧美| 免费在线欧美视频| 亚洲国产午夜| 你懂的国产精品永久在线| 欧美日韩另类国产亚洲欧美一级| 欧美国产精品人人做人人爱| 在线一区日本视频| 香蕉久久夜色精品国产| 亚洲韩国精品一区| 亚洲一区二区黄| 亚洲国产精彩中文乱码av在线播放| 亚洲欧洲精品一区二区三区| 在线亚洲免费| 久久精品一区二区| 在线一区亚洲| 欧美 日韩 国产在线| 欧美在线视频二区| 欧美日韩一区二区三区在线| 久久久一二三| 亚洲制服少妇| 老司机一区二区| 久久亚洲精品伦理| 亚洲香蕉视频| 久久尤物视频| 久久精品国产77777蜜臀| 欧美激情精品久久久久久黑人 | 欧美国产亚洲视频| 国产欧美日韩一级| 99国产精品久久久| 亚洲日韩成人| 久久久久久91香蕉国产| 午夜精彩视频在线观看不卡| 欧美极品色图| 欧美国产视频在线| 激情综合激情| 久久丁香综合五月国产三级网站| 欧美午夜片在线观看| 亚洲全黄一级网站| 亚洲日本成人在线观看| 在线一区二区三区四区| 亚洲电影观看| 欧美在线观看网站| 美日韩在线观看| 国产精品久久久久久久久久尿| 欧美激情女人20p| 在线国产精品播放| 久久精品亚洲乱码伦伦中文| 久久99在线观看| 国产精品xxxav免费视频| 亚洲女人天堂av| 一本久久a久久精品亚洲| 亚洲精品一区二区三区在线观看| 久久久青草青青国产亚洲免观| 久久精品一区二区国产| 国产精品亚洲欧美| 久久久av毛片精品| 蜜桃伊人久久| 亚洲精品乱码久久久久久| 欧美凹凸一区二区三区视频| 欧美电影在线观看完整版| 日韩午夜电影av| 国产精品高潮呻吟视频| 午夜精品久久久久久久久| 久久综合给合久久狠狠狠97色69| 影音先锋亚洲视频| 欧美激情久久久久久| 一本久道久久综合中文字幕| 久久久精品五月天| 亚洲精品影视| 欧美激情精品久久久久久久变态 | 亚洲免费视频观看| 久久久噜噜噜久久狠狠50岁| 亚洲国产日韩欧美在线图片| 欧美伦理91i| 午夜精品久久久| 欧美激情视频在线免费观看 欧美视频免费一| 亚洲精品国精品久久99热| 国产精品高潮呻吟| 久久夜色精品国产| 亚洲一区二区成人在线观看| 久久资源av| 亚洲天堂偷拍| 黑人中文字幕一区二区三区| 欧美精品久久久久久久免费观看 | 免费不卡欧美自拍视频| 日韩系列欧美系列| 久久精品99久久香蕉国产色戒 | **欧美日韩vr在线| 你懂的国产精品| 亚洲永久视频| 亚洲精品国久久99热| 午夜精品一区二区三区在线视 | 亚洲欧美一区二区激情| 亚洲国产经典视频| 久久精品国产v日韩v亚洲| 亚洲精品中文字幕在线| 国产欧美一区二区三区沐欲| 欧美xx视频| 久久视频在线看| 牛人盗摄一区二区三区视频|