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

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>
            久久综合伊人77777蜜臀| 久久精品视频在线看| 国产精品久在线观看| 国产精品国产自产拍高清av王其 | 久久国产精品久久国产精品| 中日韩男男gay无套| 亚洲一区二区三区免费在线观看| 一区二区三区产品免费精品久久75 | 久久亚洲精品中文字幕冲田杏梨| 另类av导航| 亚洲国产精品电影| 亚洲成色www8888| 日韩视频专区| 香蕉视频成人在线观看| 久久躁日日躁aaaaxxxx| 欧美精品七区| 国产九九视频一区二区三区| 亚洲成人在线视频播放| 亚洲视频第一页| 久久女同精品一区二区| 亚洲欧洲日本专区| 欧美诱惑福利视频| 欧美精品久久一区二区| 国产亚洲女人久久久久毛片| 亚洲美女淫视频| 亚洲午夜在线| 久久夜色精品国产亚洲aⅴ| 日韩性生活视频| 欧美在线视频在线播放完整版免费观看| 久久久久久久久久久久久久一区| 欧美大成色www永久网站婷| 国产欧美精品一区| 99精品国产在热久久婷婷| 久久精品久久99精品久久| 亚洲国产精品一区二区尤物区| 一区二区三区高清不卡| 欧美大成色www永久网站婷| 国模精品一区二区三区| 亚洲在线成人精品| 亚洲经典自拍| 久久日韩粉嫩一区二区三区| 国产精品一区二区在线观看网站 | 久久精品欧美| 一二三四社区欧美黄| 老司机一区二区三区| 国产亚洲精品bt天堂精选| 一区二区不卡在线视频 午夜欧美不卡在| 欧美一区二区三区免费观看视频| 亚洲美女免费精品视频在线观看| 久久久视频精品| 国模私拍一区二区三区| 久久精品免费电影| 欧美一区二区三区精品电影| 国产精品永久入口久久久| 亚洲永久免费观看| 一区二区三区导航| 欧美丝袜一区二区| 在线一区观看| 正在播放欧美视频| 国产精品普通话对白| 亚洲男人的天堂在线| 一区二区免费在线播放| 欧美日韩三级电影在线| 亚洲一区在线观看免费观看电影高清| 亚洲人成网站在线观看播放| 欧美国产日韩一区二区| 日韩午夜三级在线| 一区二区高清视频| 国产精品久久久久秋霞鲁丝 | 亚洲国产精品久久久久| 欧美不卡在线视频| 亚洲精品在线二区| 亚洲精品久久嫩草网站秘色| 欧美日本亚洲| 欧美一区视频| 久久影院午夜论| 亚洲精品国精品久久99热一| 亚洲日韩欧美视频一区| 欧美性一二三区| 久久久欧美一区二区| 久久午夜精品一区二区| 久久久青草青青国产亚洲免观| 亚洲东热激情| 一区二区三区不卡视频在线观看| 国产欧美日韩免费| 欧美1区2区| 欧美日韩国产综合一区二区| 亚洲欧美一级二级三级| 久久精品伊人| 亚洲精品在线视频观看| 中文av一区二区| 激情久久久久久| 亚洲欧洲在线免费| 国产人久久人人人人爽| 欧美激情一区二区三区在线视频| 欧美日韩中文| 麻豆freexxxx性91精品| 欧美日韩中文字幕在线| 美女精品在线| 国产精品美女999| 欧美激情一二区| 国产精品―色哟哟| 亚洲第一页在线| 国产精品免费视频观看| 欧美韩日高清| 国模吧视频一区| 亚洲午夜一区二区| 亚洲高清不卡在线| 欧美一区二区三区四区在线观看| 亚洲精品一区二区在线观看| 欧美在线视频一区二区| 亚洲午夜影视影院在线观看| 免费亚洲视频| 久久夜色精品国产| 国产精品一区二区在线观看网站| 亚洲欧洲日韩综合二区| 黄色av一区| 亚洲女ⅴideoshd黑人| 一本久道久久综合婷婷鲸鱼| 久久中文在线| 久久综合久久美利坚合众国| 国产精品蜜臀在线观看| 亚洲精品影院| 一区二区日本视频| 欧美大片在线观看一区| 欧美v国产在线一区二区三区| 国产美女精品免费电影| 亚洲一区观看| 午夜精品视频| 国产精品久线观看视频| 一个色综合av| 午夜久久久久| 国产精品视频久久| 亚洲午夜电影在线观看| 亚洲欧美日韩国产| 国产精品国产三级欧美二区| 亚洲一级电影| 欧美影院在线| 国产欧美一区二区精品性| 亚洲欧美变态国产另类| 久久爱www| 狠狠网亚洲精品| 久久久99免费视频| 久热精品视频在线观看一区| 中文一区二区| 亚洲国产日韩综合一区| 欧美大片第1页| 99精品久久久| 欧美激情亚洲自拍| 亚洲精选中文字幕| 亚洲视频中文字幕| 欧美午夜三级| 亚洲宅男天堂在线观看无病毒| 亚洲男人的天堂在线aⅴ视频| 国产精品成人一区二区三区夜夜夜 | 亚洲黄色av| 欧美日本成人| 亚洲欧美三级在线| 麻豆精品国产91久久久久久| 在线观看亚洲一区| 欧美日韩亚洲不卡| 午夜精品福利在线| 欧美激情视频在线播放| 一区二区欧美亚洲| 国产日韩精品视频一区| 久久久999国产| 99v久久综合狠狠综合久久| 午夜精品福利视频| 亚洲高清资源| 欧美性片在线观看| 欧美专区在线播放| 亚洲区第一页| 欧美亚洲网站| 亚洲精品欧美| 国产精品日韩电影| 另类亚洲自拍| 亚洲自拍电影| 91久久国产自产拍夜夜嗨| 性欧美暴力猛交69hd| 亚洲黄一区二区三区| 欧美午夜精品理论片a级按摩 | 国产一区日韩一区| 欧美另类变人与禽xxxxx| 欧美一区二区三区四区在线| 亚洲欧洲一区二区三区久久| 亚洲欧美激情精品一区二区| 亚洲电影在线| 国产欧美一区二区精品仙草咪| 欧美精品一区二区三区久久久竹菊| 欧美一区二区成人| 一区二区三区黄色| 欧美激情亚洲| 麻豆亚洲精品| 久久精品在线观看| 亚洲欧美卡通另类91av| 亚洲美女av黄| 亚洲福利精品| 激情小说另类小说亚洲欧美| 国产精品毛片大码女人| 欧美三区美女|