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

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>
            亚洲免费av网站| 亚洲制服av| 午夜精品在线视频| 一本色道久久综合亚洲二区三区 | 校园春色国产精品| 亚洲欧美日韩国产成人精品影院| 中文精品99久久国产香蕉| 亚洲性感激情| 久久丁香综合五月国产三级网站| 一本久久综合| 欧美成人午夜视频| 欧美成人综合| 欧美视频精品一区| 国产日产欧产精品推荐色 | av不卡在线观看| 亚洲视频一区二区| 久久se精品一区二区| 欧美成年人视频网站| 欧美色图麻豆| 尤物yw午夜国产精品视频| 一本色道精品久久一区二区三区| 欧美一区二区三区啪啪| 欧美v日韩v国产v| 亚洲精品美女久久久久| 日韩视频永久免费| 欧美制服丝袜第一页| 欧美日韩三级视频| 在线免费观看视频一区| 午夜精品久久久久99热蜜桃导演| 欧美黑人在线播放| 久久激情综合网| 欧美系列亚洲系列| 亚洲国产天堂久久综合网| 香蕉久久一区二区不卡无毒影院| 亚洲成色最大综合在线| 小嫩嫩精品导航| 欧美日韩精品免费| 亚洲日本乱码在线观看| 久久噜噜亚洲综合| 亚洲免费视频在线观看| 欧美日韩一卡二卡| 日韩视频一区二区在线观看 | 亚洲第一福利视频| 国产精品毛片高清在线完整版| 亚洲福利在线看| 久久精品免费| 国产一区二区三区直播精品电影| 亚洲视频在线播放| 日韩视频在线永久播放| 欧美肥婆在线| 亚洲精品国精品久久99热| 欧美成人69av| 美女视频黄 久久| 在线观看三级视频欧美| 久久夜色精品一区| 久久国产视频网站| 精品99视频| 欧美.日韩.国产.一区.二区| 麻豆九一精品爱看视频在线观看免费| 一区二区激情小说| 欧美日韩视频在线第一区| 日韩一区二区精品葵司在线| 亚洲国产成人av| 免费91麻豆精品国产自产在线观看| 在线精品国产欧美| 美女国内精品自产拍在线播放| 欧美一级欧美一级在线播放| 国产欧美一区二区精品婷婷| 欧美一级理论片| 亚洲综合丁香| 国产视频亚洲| 免费看成人av| 欧美精品一区二区三区在线看午夜| 亚洲免费黄色| 亚洲免费影视| 国产午夜精品一区二区三区欧美| 久久精品亚洲精品| 开心色5月久久精品| 一本色道久久综合亚洲精品婷婷| 一区二区三区四区五区视频| 国产乱码精品一区二区三区不卡 | 欧美激情视频免费观看| 香蕉久久夜色精品国产| 国产亚洲精品久久久久久| 美女国产精品| 国产精品theporn| 久久久精品久久久久| 另类激情亚洲| 日韩视频中午一区| 欧美成人69av| 国产精品福利片| 久久久久久久久岛国免费| 久热精品视频| 亚洲少妇最新在线视频| 欧美亚洲网站| 亚洲精品国产日韩| 午夜视频一区二区| 亚洲精品视频在线看| 小黄鸭视频精品导航| 99国产精品久久| 欧美在线啊v| 一区二区三区日韩精品| 欧美在线观看日本一区| 夜夜嗨av一区二区三区四季av| 亚洲免费一区二区| 夜夜精品视频一区二区| 久久免费精品视频| 先锋资源久久| 农村妇女精品| 欧美怡红院视频一区二区三区| 欧美国产日韩xxxxx| 久久一本综合频道| 欧美日韩人人澡狠狠躁视频| 欧美激情国产高清| 国产日韩欧美另类| 91久久精品一区二区别| 国产综合色产在线精品| 亚洲私拍自拍| 夜夜爽夜夜爽精品视频| 久久综合狠狠综合久久综合88 | 欧美一级网站| 亚洲欧美一区二区激情| 欧美成人午夜激情在线| 欧美寡妇偷汉性猛交| 国产婷婷色一区二区三区在线 | 欧美午夜精品电影| 欧美黑人多人双交| 亚洲国产精品一区二区www在线| 午夜精品国产更新| 亚洲综合日韩| 欧美日韩亚洲激情| 亚洲人人精品| 亚洲精品国产视频| 欧美激情亚洲激情| 亚洲乱码国产乱码精品精天堂 | 欧美在线视频免费| 欧美日韩和欧美的一区二区| 欧美激情国产精品| 亚洲日韩第九十九页| 久久全国免费视频| 欧美99在线视频观看| 亚洲电影下载| 欧美精品91| 99精品热6080yy久久| 亚洲欧美日韩国产综合精品二区| 国产精品久久久久久久久久妞妞 | 美女脱光内衣内裤视频久久网站| 国产欧美亚洲视频| 久久精品99| 欧美大尺度在线观看| 亚洲国产一二三| 欧美国产第一页| 最近中文字幕mv在线一区二区三区四区| 一区二区三区无毛| 久久久久久亚洲精品不卡4k岛国| 欧美综合国产| 激情五月婷婷综合| 欧美国产高清| 亚洲桃色在线一区| 久久精品一区蜜桃臀影院| 激情视频一区二区三区| 欧美激情一区二区三区全黄| 一本久久精品一区二区| 欧美亚洲综合在线| 国外成人网址| 欧美欧美在线| 欧美亚洲一区| 亚洲国产aⅴ天堂久久| 亚洲欧美高清| 久久精品视频va| 最新亚洲视频| 久久久蜜桃精品| 日韩视频免费看| 国产亚洲欧美一区| 欧美国产先锋| 欧美一区观看| 日韩亚洲精品电影| 久久久久久久国产| 亚洲精品偷拍| 亚洲一级二级| 欧美+日本+国产+在线a∨观看| 亚洲精品日韩在线观看| 国产日韩综合一区二区性色av| 久久综合给合| 亚洲网站在线播放| 亚洲性人人天天夜夜摸| 一区二区三区四区精品| 国产精品久久久久久久久免费樱桃 | 麻豆精品在线视频| 亚洲直播在线一区| 亚洲丁香婷深爱综合| 国产精品视频一二| 欧美国产精品人人做人人爱| 一区二区不卡在线视频 午夜欧美不卡'| 久久久精品国产99久久精品芒果| 在线视频精品一区| 狠狠久久婷婷| 欧美午夜不卡影院在线观看完整版免费| 麻豆9191精品国产| 久久九九99|