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

A Za, A Za, Fighting...

堅信:勤能補拙

PKU 3083 Children of the Candy Corn

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

思路:
對于求最短路徑,BFS即可解決,沒有什么難度

該題的難點在于如何求沿左、沿右走的問題
剛開始,完全不知道這是什么意思,無奈只能在網上看代碼,總結如下:
沿左策略的一般次序: left, up, right, down
沿右策略的一般次序: right, up, left, down
求解的關鍵是如何根據前一個方向以及一般次序來決定目前訪問上下左右四個方向的順序,例如:
對于沿左前進策略,如果前一個方向是right,那么訪問次序是up, right, down, left(與前一個方向相反的方向總是放在最后)

代碼:
  1 #define MAX_LEN 42
  2 #define QUEUE_LEN 1600
  3 #define is_valid(x, y) (x>=0 && x<row && y>=0 && y<col)
  4 char maze[MAX_LEN][MAX_LEN];
  5 int visited[MAX_LEN][MAX_LEN];
  6 int row, col;
  7 int start_x, start_y;
  8 /* left, up, right, down */
  9 const int dx[] = {0-101};
 10 const int dy[] = {-1010};
 11 /* right, up, left, down */
 12 const int dx_right[] = {0-101};
 13 const int dy_right[] = {10-10};
 14 int lcount, rcount;
 15 int head, tail;
 16 struct EACH {
 17     int x, y;
 18     int mv;
 19 } queue[QUEUE_LEN];
 20 
 21 
 22 void
 23 init()
 24 {
 25     int i;
 26     char *p;
 27     memset(visited, 0sizeof(visited));
 28     head = -1;
 29     tail = 0;
 30     lcount = rcount = 0;
 31     scanf("%d %d"&col, &row);
 32     for(i=0; i<row; i++) {
 33         scanf("%s", maze[i]);
 34         if((p=strchr(maze[i], 'S')) != NULL) {
 35             start_x = i;
 36             start_y = p-maze[i];
 37         }
 38     }
 39 }
 40 
 41 /*
 42  * dir: previous direction
 43  * switch(dir):
 44  *     case(right): up right down left (order)
 45  *     case(up):    left up right down
 46  *     case(left):  down left up right
 47  *     case(down):  right down left up
 48  */
 49 void
 50 dfs_left(int x, int y, int dir)
 51 {
 52     int i, tx, ty;
 53     ++lcount;
 54     if(maze[x][y] == 'E') {
 55         return;
 56     }
 57     dir = (dir+3)%4;
 58     for(i=0; i<4; i++) {
 59         tx = x + dx[(dir+i)%4];
 60         ty = y + dy[(dir+i)%4];
 61         if(is_valid(tx, ty) && maze[tx][ty]!='#') {
 62             dfs_left(tx, ty, (dir+i)%4);
 63             break;
 64         }
 65     }
 66 }
 67 
 68 void
 69 dfs_right(int x, int y, int dir)
 70 {
 71     int i, tx, ty;
 72     ++rcount;
 73     if(maze[x][y] == 'E'
 74         return;
 75     dir = (dir+3)%4;
 76     for(i=0; i<4; i++) {
 77         tx = x + dx_right[(dir+i)%4];
 78         ty = y + dy_right[(dir+i)%4];
 79         if(is_valid(tx, ty) && maze[tx][ty]!='#') {
 80             dfs_right(tx, ty, (dir+i)%4);
 81             break;
 82         }
 83     }
 84 }
 85 
 86 int 
 87 bfs()
 88 {
 89     int i, cx, cy, tx, ty, cmv;
 90     memset(visited, 0sizeof(visited));
 91     queue[tail].x = start_x;
 92     queue[tail].y = start_y;
 93     queue[tail].mv = 1;
 94     visited[start_x][start_y] = 1;
 95     while(head < tail) {
 96         ++head;
 97         cx = queue[head].x;
 98         cy = queue[head].y;
 99         cmv = queue[head].mv;
100         if(maze[cx][cy] == 'E')
101             return cmv;
102         for(i=0; i<4; i++) {
103             tx = cx + dx[i];
104             ty = cy + dy[i];
105             if(is_valid(tx, ty) && !visited[tx][ty] && maze[tx][ty]!='#') {
106                 ++tail;
107                 queue[tail].x = tx;
108                 queue[tail].y = ty;
109                 queue[tail].mv = cmv+1;
110                 visited[tx][ty] = 1;
111             }
112         }
113     }
114 }

posted on 2010-07-30 11:01 simplyzhao 閱讀(252) 評論(0)  編輯 收藏 引用 所屬分類: B_搜索

導航

<2011年6月>
2930311234
567891011
12131415161718
19202122232425
262728293012
3456789

統計

常用鏈接

留言簿(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>
            久久精品一区二区国产| 亚洲精品系列| 欧美激情精品久久久久久大尺度| 国产精品一二三四| 在线视频亚洲欧美| 欧美激情aⅴ一区二区三区| 欧美日韩在线不卡一区| 亚洲国产一二三| 欧美中文字幕久久| 久久手机免费观看| 精品9999| 欧美日韩福利视频| 亚洲欧美美女| 欧美激情乱人伦| 亚洲一区二区三区四区五区黄| 免费不卡视频| 亚洲精品一区二区三区av| 亚洲免费av片| 亚洲欧美美女| 欧美综合国产| 亚洲高清免费| 欧美视频在线视频| 欧美一区二区在线免费播放| 欧美成人一区二区三区在线观看 | 欧美日韩综合在线| 欧美一区二区三区四区夜夜大片| 欧美成年人视频| 香蕉成人伊视频在线观看| 影音先锋日韩资源| 国产欧美精品在线| 美国三级日本三级久久99| 亚洲图片自拍偷拍| 91久久在线视频| 欧美成人精品在线视频| 欧美一级视频免费在线观看| 一区二区欧美国产| 亚洲电影毛片| 亚洲国产一区二区三区在线播| 国产麻豆精品久久一二三| 欧美韩日视频| 亚洲一区在线免费| 亚洲美女啪啪| 亚洲精品欧美日韩| 欧美激情一区二区三区成人| 久久嫩草精品久久久精品| 久久成人在线| 久久久精彩视频| 久久青草久久| 狂野欧美激情性xxxx欧美| 性久久久久久久久久久久| 亚洲一区免费视频| 亚洲一区二区三区影院| 一区二区不卡在线视频 午夜欧美不卡在| 国产午夜精品全部视频播放| 国产精品久久久久久户外露出| 欧美视频一区二| 国产精品一区二区在线| 亚洲伊人久久综合| 99日韩精品| 欧美在线播放一区| 欧美另类高清视频在线| 国产精品国产三级国产aⅴ浪潮| 国产麻豆精品视频| 亚洲福利视频一区二区| 一区二区三区高清| 久久久国产成人精品| 亚洲激情av在线| 亚洲欧美日韩系列| 免费观看日韩| 国产精品久久九九| 国内精品久久久久影院薰衣草| 亚洲精品综合精品自拍| 欧美一级播放| 日韩亚洲国产欧美| 卡通动漫国产精品| 国产欧美日韩专区发布| 亚洲日本无吗高清不卡| 香蕉乱码成人久久天堂爱免费| 欧美成人国产一区二区| 这里只有精品丝袜| 免费成人网www| 国内精品嫩模av私拍在线观看 | 在线日韩电影| 午夜精品剧场| 亚洲欧洲免费视频| 亚洲一二三区在线| 亚洲电影中文字幕| 麻豆精品精华液| 国产午夜精品久久久久久久| 亚洲天堂成人在线视频| 亚洲国产精品久久人人爱蜜臀| 亚洲综合999| 久久免费午夜影院| 久久深夜福利| 亚洲第一黄色| 亚洲人成在线观看| 女仆av观看一区| 制服丝袜亚洲播放| 亚洲一级在线观看| 午夜视频一区| 好吊一区二区三区| 欧美成人黑人xx视频免费观看| 欧美亚洲一区二区在线| 国产日韩一级二级三级| 久久婷婷国产综合国色天香| 久久免费午夜影院| 99热这里只有精品8| 亚洲性夜色噜噜噜7777| 国产精品一区一区| 91久久黄色| 日韩一区二区精品| 国产亚洲高清视频| 亚洲国产裸拍裸体视频在线观看乱了中文 | 国产精品一级久久久| 欧美专区在线观看| 美脚丝袜一区二区三区在线观看| 99在线精品免费视频九九视| 亚洲欧美日韩在线播放| 亚洲精品日产精品乱码不卡| 国产一区二区精品久久91| 亚洲国产99| 欧美亚洲视频在线观看| 亚洲一区二区三区高清不卡| 久久久综合网站| 久久国产综合精品| 国产精品第13页| 99av国产精品欲麻豆| 亚洲人成人一区二区三区| 欧美一区二区黄色| 久久精品夜色噜噜亚洲a∨| 国产精品久久久久影院亚瑟| 亚洲激情视频在线观看| 亚洲国产婷婷| 欧美电影电视剧在线观看| 女女同性女同一区二区三区91| 亚洲免费观看在线观看| 伊人色综合久久天天五月婷| 午夜精品久久久久久久白皮肤| 亚洲精选在线观看| 老司机午夜免费精品视频| 久久综合久久综合久久综合| 国产视频一区二区三区在线观看| 一本到12不卡视频在线dvd| 夜夜嗨av一区二区三区中文字幕 | 欧美三级电影一区| 亚洲欧洲一区二区三区在线观看 | 亚洲日本久久| 欧美日韩国产高清| 亚洲欧美中文字幕| 免费亚洲一区| 亚洲图色在线| 在线观看国产成人av片| 欧美日韩不卡一区| 久久爱www久久做| 亚洲精选91| 美女黄色成人网| 亚洲直播在线一区| 在线成人av| 国产精品稀缺呦系列在线| 久久女同精品一区二区| 亚洲国产精品va在线看黑人动漫| 一区二区av| 亚洲黄色天堂| 国产精品揄拍500视频| 欧美jizzhd精品欧美巨大免费| 中国av一区| 亚洲欧洲精品一区二区精品久久久| 亚洲欧美日韩第一区| 亚洲日本成人女熟在线观看| 国产精自产拍久久久久久| 欧美激情一区二区三区在线| 欧美中文字幕在线观看| 亚洲天堂av在线免费| 亚洲国产美女精品久久久久∴| 久久久久久国产精品mv| 午夜久久久久久| 亚洲综合色婷婷| 亚洲欧美久久| 欧美专区第一页| 久久精品久久综合| 久久―日本道色综合久久| 久久av在线| 卡一卡二国产精品| 韩国精品一区二区三区| 韩国女主播一区| 在线 亚洲欧美在线综合一区| 亚洲第一级黄色片| 亚洲精品乱码久久久久久蜜桃91| 亚洲人成久久| 香蕉久久夜色精品国产| 另类春色校园亚洲| 久久综合999| 久久久久久黄| 亚洲国产专区校园欧美| 久久久www成人免费精品| 亚洲婷婷免费| 亚洲手机在线| 91久久中文| 亚洲精选国产| 日韩亚洲欧美综合|