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

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_搜索

導航

<2010年8月>
25262728293031
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| 国产一区三区三区| 国产精品成人午夜| 欧美天天视频| 欧美日韩国产成人在线观看| 亚洲欧美国内爽妇网| 亚洲人精品午夜| 欧美一二区视频| 午夜精品久久| 精品不卡一区二区三区| 国内精品久久久久久| 国产精品视频成人| 国产精品一区在线播放| 亚洲一区bb| 亚洲欧美成人网| 日韩一级黄色av| 亚洲精品日产精品乱码不卡| 国产亚洲欧美色| 亚洲激情偷拍| 日韩午夜电影| 久久精品国产96久久久香蕉| 久久在线视频在线| 亚洲国产激情| 亚洲另类黄色| 久久不射中文字幕| 久久久久久久一区二区| 美女精品网站| 国产精品一区免费视频| 在线成人www免费观看视频| 亚洲国产精品久久久久婷婷884| 国产日韩欧美精品| 亚洲欧洲久久| 久久久天天操| 99成人在线| 狂野欧美激情性xxxx欧美| 欧美高清在线观看| 原创国产精品91| 欧美一区二区日韩一区二区| 欧美国产精品v| 欧美一级黄色录像| 国产精品久久久对白| 亚洲欧洲美洲综合色网| 亚洲国产一区二区三区a毛片| 亚洲精品免费一区二区三区| 欧美精品手机在线| 久久精品伊人| 久久久天天操| 国产精品系列在线| 亚洲自拍偷拍一区| 欧美激情中文字幕乱码免费| 久久九九久久九九| 国产精品sss| 日韩特黄影片| 中文精品视频| 欧美日韩亚洲成人| 一片黄亚洲嫩模| 亚洲女女女同性video| 欧美片第1页综合| 亚洲精品久久在线| 99成人在线| 欧美视频一区二区在线观看 | 欧美在线二区| 久久男女视频| 亚洲国产一区二区三区在线播| 在线看日韩欧美| 久久久久免费视频| 亚洲精品乱码久久久久久蜜桃麻豆| 亚洲国产视频a| 欧美激情国产精品| 亚洲免费观看视频| 亚洲免费视频一区二区| 国内在线观看一区二区三区| 午夜激情久久久| 欧美成人午夜免费视在线看片| 一区一区视频| 欧美色偷偷大香| 小黄鸭精品aⅴ导航网站入口| 欧美粗暴jizz性欧美20| 午夜宅男欧美| 日韩写真视频在线观看| 一本一道久久综合狠狠老精东影业 | 亚洲午夜视频在线观看| 国产色综合久久| 欧美视频中文字幕在线| 榴莲视频成人在线观看| 欧美中文字幕在线观看| 亚洲视屏在线播放| 99综合电影在线视频| 亚洲黄色精品| 久久久视频精品| 久久夜色精品国产欧美乱极品| 亚洲第一在线视频| 国产人成一区二区三区影院| 国产一在线精品一区在线观看| 久久久精品一区| 亚洲麻豆一区| 国内久久精品视频| 欧美日韩国产三区| 久久久夜精品| 性一交一乱一区二区洋洋av| 欧美黄色日本| 老司机午夜精品视频| 99一区二区| 国产亚洲欧美日韩美女| 久久久久久夜精品精品免费| 欧美91精品| 一区二区三区www| 国产精品男gay被猛男狂揉视频| 99精品热6080yy久久 | 久久久999国产| 欧美一区日本一区韩国一区| 激情欧美国产欧美| 亚洲人成网站在线播| 欧美午夜三级| 欧美成人精品h版在线观看| 亚洲系列中文字幕| 一区二区免费在线播放| 日韩视频免费观看高清在线视频 | 99热免费精品| 亚洲美女视频在线观看| 在线亚洲欧美视频| 亚洲欧美日韩人成在线播放| 欧美在线中文字幕| 欧美xxxx在线观看| 欧美日韩精品一区二区天天拍小说| 欧美精品二区| 国产伦精品一区二区三区高清版 | 国内偷自视频区视频综合| 亚洲大黄网站| 亚洲一区二区三区影院| 国内精品久久久久久久果冻传媒| 欧美三区美女| 99精品国产热久久91蜜凸| 99成人精品| 国产精品羞羞答答| 久久久久久穴| 欧美不卡在线| 曰本成人黄色| 久久人人看视频| 亚洲国产成人精品久久久国产成人一区 | 欧美高清在线精品一区| 久久久免费精品视频| 美女日韩欧美| 欧美一区影院| 国产一区二区av| 久久久人成影片一区二区三区 | 亚洲成人资源网| 99国产精品私拍| 亚洲电影在线| 久久久亚洲综合| 欧美中文在线字幕| 99精品99久久久久久宅男| 国产欧美高清| 一区二区三区在线观看视频 | 狠狠88综合久久久久综合网| 在线不卡中文字幕播放| 久久美女性网| 欧美在线视频免费观看| 国产一区二区三区久久 | 久久亚洲一区二区| 亚洲高清视频一区| 欧美99在线视频观看| 久久久欧美一区二区| 亚洲欧洲中文日韩久久av乱码| 欧美激情视频一区二区三区免费| 久久久久久夜| 亚洲欧美日本在线| 久久国产黑丝| 亚洲伦理网站| 亚洲免费影视| 在线日韩视频| 99视频精品| 国内成人精品2018免费看| 欧美成人一区二区在线 | 在线日韩电影| 亚洲最黄网站| 国产一区二区欧美| 亚洲美女中文字幕| 国产综合精品一区| 亚洲裸体俱乐部裸体舞表演av| 国产精品天美传媒入口| 美女爽到呻吟久久久久| 国产精品h在线观看| 亚洲国产99精品国自产| 国产精品草草| 艳女tv在线观看国产一区| 激情综合激情| 欧美一区二区三区四区在线观看| 一本色道久久综合亚洲精品按摩| 欧美一区二区在线播放| 欧美亚洲一区在线| 欧美色播在线播放| 亚洲精品女人| 在线成人中文字幕| 欧美资源在线| 欧美成人伊人久久综合网| 激情文学一区|