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

pku Left labyrinths DFS網格圖搜索-注意這種非優先路搜索判重一定要帶方向向量

題目意思很簡單,一個迷宮,問是否能夠從入口處進入,在岔道口處向左拐,問采取這種策略能夠走到中心。
由于這里不是全DFS,而是具有某種優先級順序,在這里,優先級是指一直向左拐。判重的時候不能僅僅判斷這個格子是否走過,還要加上方向向量,即從什么方向走入這個格子的。
  1 # include <iostream>
  2 # include <cstring>
  3 # include <cstdio>
  4 using namespace std;
  5 char map[105][105];
  6 bool used[105][105][4];//方向:0-向上 1-向右 2-向下 3-向左
  7 int n,m;
  8 int sr=-1,sc=-1;
  9 inline bool chk(int r,int c)
 10 {
 11    if(r+1<n&&r-1>=0&&map[r+1][c]=='#'&&map[r-1][c]=='#'return true;
 12    else if(c+1<m&&c-1>=0&&map[r][c-1]=='#'&&map[r][c+1]=='#'return true;
 13    else return false;
 14 }
 15 inline int encode(int r,int c,int dir)
 16 {  
 17      return (((r<<7)|c)<<2)|dir;
 18 }
 19 inline bool legal(int r,int c)
 20 {
 21    if(r>=0&&r<n&&c>=0&&c<m&&map[r][c]=='.'return true;
 22    else return false;
 23 }
 24 void findstart(int r,int c)
 25 {
 26    if(r>=n||r<0||c>=m||c<0||map[r][c]!='.'return;
 27    if(chk(r,c))
 28    {
 29       sr=r;
 30       sc=c;
 31       return;
 32    }
 33    map[r][c]=' ';
 34    findstart(r+1,c);
 35    findstart(r-1,c);
 36    findstart(r,c+1);
 37    findstart(r,c-1);
 38 }
 39 bool dfs(int r,int c,int dir)
 40 {
 41   // printf("%d %d %d\n",r,c,dir);
 42   // system("pause");
 43    if(used[r][c][dir]) return false;
 44    else
 45    {
 46        if(legal(r,c)&&legal(r+1,c)&&legal(r,c+1)&&legal(r+1,c+1)||
 47           legal(r,c-1)&&legal(r,c)&&legal(r+1,c-1)&&legal(r+1,c)||
 48           legal(r-1,c)&&legal(r,c)&&legal(r-1,c+1)&&legal(r,c+1)||
 49           legal(r-1,c-1)&&legal(r-1,c)&&legal(r,c-1)&&legal(r,c)) 
 50           return true;
 51        used[r][c][dir]=true;
 52        switch(dir)
 53        {
 54          case 0:
 55               if(legal(r,c-1)) return dfs(r,c-1,3);
 56               else if(legal(r-1,c)) return dfs(r-1,c,0);
 57               else if(legal(r,c+1)) return dfs(r,c+1,1);
 58               break;
 59          case 1:
 60               if(legal(r-1,c)) return dfs(r-1,c,0);
 61               else if(legal(r,c+1)) return dfs(r,c+1,1);
 62               else if(legal(r+1,c)) return dfs(r+1,c,2);
 63               break;
 64          case 2:
 65               if(legal(r,c+1)) return dfs(r,c+1,1);
 66               else if(legal(r+1,c)) return dfs(r+1,c,2);
 67               else if(legal(r,c-1)) return dfs(r,c-1,3);
 68               break;
 69          case 3:
 70               if(legal(r+1,c)) return dfs(r+1,c,2);
 71               else if(legal(r,c-1)) return dfs(r,c-1,3);
 72               else if(legal(r-1,c)) return dfs(r-1,c,0);
 73               break;
 74        } ;
 75        return false;
 76    }
 77    
 78 }
 79 int main()
 80 {
 81     //int n,m;
 82     scanf("%d%d",&n,&m);
 83     for(int i=0;i<n;i++)
 84        scanf("%s",map[i]);
 85     for(int i=0;i<n;i++)
 86     {
 87         if(map[i][0]=='.')
 88            findstart(i,0);
 89         if(map[i][m-1]=='.')
 90            findstart(i,m-1);
 91     }
 92     for(int i=0;i<m;i++)
 93     {
 94         if(map[0][i]=='.')
 95            findstart(0,i);
 96         if(map[n-1][i]=='.')
 97            findstart(n-1,i);
 98     }
 99   //  for(int i=0;i<n;i++)
100     //  printf("%s\n",map[i]);
101   //  system("pause");
102     memset(used,false,sizeof(used));
103     if(sr+1<n&&sr-1>=0&&map[sr+1][sc]=='#'&&map[sr-1][sc]=='#')
104        if(sc+1>=m||map[sr][sc+1]==' ')
105           printf("%s\n",dfs(sr,sc,3)?"YES":"NO");
106        else
107           printf("%s\n",dfs(sr,sc,1)?"YES":"NO");
108     else
109        if(sr+1>=n||map[sr+1][sc]==' ')
110           printf("%s\n",dfs(sr,sc,0)?"YES":"NO");
111        else
112           printf("%s\n",dfs(sr,sc,2)?"YES":"NO");
113     //system("pause");
114     return 0;
115            
116 }
117 

posted on 2010-10-15 16:09 yzhw 閱讀(212) 評論(0)  編輯 收藏 引用 所屬分類: search

<2010年10月>
262728293012
3456789
10111213141516
17181920212223
24252627282930
31123456

導航

統計

公告

統計系統

留言簿(1)

隨筆分類(227)

文章分類(2)

OJ

最新隨筆

搜索

積分與排名

最新評論

閱讀排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            正在播放欧美视频| 国产手机视频一区二区| 免费不卡亚洲欧美| 99www免费人成精品| 羞羞色国产精品| 这里只有精品电影| 欧美日韩1区2区| 亚洲精品中文字幕女同| 亚洲美女尤物影院| 欧美激情四色| 亚洲一区二区三区四区五区午夜| 亚洲美女中文字幕| 欧美性开放视频| 亚洲视频久久| 久久综合给合久久狠狠狠97色69| 国产一区二区精品久久91| 欧美一区二视频| 亚洲激情网站免费观看| 91久久极品少妇xxxxⅹ软件| 国产精品扒开腿爽爽爽视频| 亚洲免费在线观看视频| 欧美国产日韩精品| 亚洲在线观看视频| 亚洲高清不卡在线| 国产精品视频网站| 欧美电影在线| 免费欧美视频| 久久国产精品99久久久久久老狼 | 老司机精品久久| 欧美日韩在线免费| 中文久久精品| 亚洲黄色一区| 麻豆精品在线观看| 久久成人综合网| 亚洲一区二区三区视频播放| 国产欧美视频在线观看| 国产精品theporn| 欧美日韩理论| 欧美另类极品videosbest最新版本 | 欧美日韩三区四区| 理论片一区二区在线| 久久美女性网| 免费日韩精品中文字幕视频在线| 欧美在线免费一级片| 久久精品主播| 久久亚洲欧美| 欧美午夜一区二区| 国产在线欧美| 亚洲国产精品一区制服丝袜| 国内免费精品永久在线视频| 在线播放豆国产99亚洲| 亚洲精品国产无天堂网2021| 欧美一区二区久久久| 激情视频一区二区| 免费观看欧美在线视频的网站| 亚洲欧美视频在线| 久久综合色一综合色88| 欧美电影电视剧在线观看| 国产精品wwwwww| 久久精品国产清自在天天线| 性做久久久久久久免费看| 欧美在线播放一区二区| 牛牛国产精品| 亚洲一区二区三区在线| 先锋影音网一区二区| 欧美日韩免费高清一区色橹橹| 一区二区三区产品免费精品久久75| 亚洲精品国产精品国自产观看浪潮| 亚洲国产精品va在线观看黑人| 在线观看精品| 久久精品久久综合| 亚洲激情一区二区| 午夜精品福利一区二区蜜股av| 国产精品久久久久久久久久免费 | 亚洲精品国产无天堂网2021| 亚洲国产aⅴ天堂久久| 亚洲一二三四久久| 欧美成人性网| 亚洲免费视频中文字幕| 亚洲青涩在线| 久久精品一区二区| 亚洲精品看片| 欧美国产激情二区三区| 国产一区二区欧美日韩| 亚洲影视中文字幕| aa级大片欧美三级| 久久精品99国产精品日本| 亚洲另类自拍| 欧美三区视频| 久久爱另类一区二区小说| 亚洲欧美色一区| 亚洲国产另类久久精品| 美国十次了思思久久精品导航| 欧美一区二区三区四区在线| 狠狠入ady亚洲精品| 美日韩精品免费观看视频| 玖玖精品视频| 午夜精品三级视频福利| 一区二区三区在线观看国产| 日韩视频中午一区| 国产亚洲福利一区| 欧美国产1区2区| 欧美一区二区成人| 日韩亚洲在线| 国产专区欧美专区| 日韩一区二区久久| 亚洲黄色成人久久久| 亚洲免费激情| 亚洲精品一二| 久久看片网站| 午夜精品美女自拍福到在线| 欧美另类专区| 欧美高清日韩| 亚洲二区免费| 久久久97精品| 久久久精品午夜少妇| 国产精品美女午夜av| 亚洲特级片在线| 性做久久久久久久免费看| 国产精品日韩专区| 亚洲视频在线免费观看| 亚洲三级免费观看| 久久精品官网| 欧美日韩大片一区二区三区| 欧美—级a级欧美特级ar全黄| 欧美va亚洲va日韩∨a综合色| 国产乱码精品一区二区三区五月婷 | 免费中文字幕日韩欧美| 国内精品久久久久影院薰衣草| 国产婷婷一区二区| 欧美在线free| 亚洲黄色视屏| 久久国产一区二区| 亚洲国产精品激情在线观看| 久久亚洲精品网站| 日韩亚洲欧美高清| 久久伊人一区二区| 亚洲精品一区二区三区av| 欧美破处大片在线视频| 亚洲综合二区| 亚洲剧情一区二区| 久久久五月天| 在线综合视频| 亚洲精品国产日韩| 欧美三级午夜理伦三级中文幕 | 欧美一级视频| 亚洲毛片一区二区| 狠狠色丁香久久综合频道| 国产精品v欧美精品∨日韩| 久久久久在线观看| 在线中文字幕不卡| 亚洲三级视频| 亚洲国产精品国自产拍av秋霞| 老司机精品导航| 久久久久国产精品www| 亚洲午夜视频在线观看| 亚洲日本va午夜在线电影| 牛人盗摄一区二区三区视频| 欧美一区二区视频免费观看| 亚洲一区二区精品在线| 一区二区三区国产在线| 9l视频自拍蝌蚪9l视频成人| 亚洲激情在线观看| 亚洲精品乱码久久久久久| 亚洲高清在线精品| 亚洲国产精品久久久久婷婷884 | 亚洲天堂av在线免费观看| 亚洲人成艺术| 亚洲激情在线| 一区二区三区精品视频| 一本一道久久综合狠狠老精东影业| 亚洲免费成人| 午夜一区二区三区在线观看| 欧美一区成人| 日韩视频免费在线| 亚洲欧美综合v| 欧美国产视频日韩| 一区二区三区视频免费在线观看| 亚洲欧美精品在线| 久久欧美肥婆一二区| 欧美色另类天堂2015| 国产资源精品在线观看| 亚洲乱码精品一二三四区日韩在线 | 国产在线欧美日韩| 亚洲综合视频一区| 黄色一区二区在线观看| 亚洲性视频h| 亚洲国产精品久久91精品| 欧美一级在线播放| 国产精品免费电影| 一区二区欧美国产| 亚洲第一黄网| 欧美二区在线观看| 91久久中文| 亚洲国产综合视频在线观看| 久久久久久夜| 一色屋精品亚洲香蕉网站| 羞羞色国产精品| 一区二区欧美在线| 亚洲精品日韩综合观看成人91|