• <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 Za, A Za, Fighting...

            堅信:勤能補拙

            PKU 1573 Robot Motion

            問題:
            http://poj.org/problem?id=1573

            思路:
            簡單題,純模擬...

            代碼:
             1 #include<stdio.h>
             2 #include<stdlib.h>
             3 #include<string.h>
             4 #define MAX_LEN 12
             5 #define is_valid(x, y) (x>=0 && x<R && y>=0 && y<C)
             6 char map[MAX_LEN][MAX_LEN];
             7 int steps[MAX_LEN][MAX_LEN];
             8 int R, C, entry;
             9 
            10 void
            11 solve()
            12 {
            13     char ch;
            14     int cx, cy, px, py;
            15     cx = px = 0;
            16     cy = py = entry-1;
            17     while(is_valid(cx, cy) && !steps[cx][cy]) {
            18         steps[cx][cy] = steps[px][py] + 1;
            19         ch = map[cx][cy];
            20         px = cx;
            21         py = cy;
            22         switch(ch) {
            23             case 'N':
            24                 cx = px-1;
            25                 cy = py;
            26                 break;
            27             case 'S':
            28                 cx = px+1;
            29                 cy = py;
            30                 break;
            31             case 'W':
            32                 cx = px;
            33                 cy = py-1;
            34                 break;
            35             case 'E':
            36                 cx = px;
            37                 cy = py+1;
            38                 break;
            39         }
            40     }
            41     if(!is_valid(cx, cy))
            42         printf("%d step(s) to exit\n", steps[px][py]);
            43     else if(steps[cx][cy])
            44         printf("%d step(s) before a loop of %d step(s)\n", steps[cx][cy]-1, steps[px][py]-steps[cx][cy]+1);
            45 }
            46 
            47 int
            48 main(int argc, char **argv)
            49 {
            50     int i;
            51     while(scanf("%d %d %d"&R, &C, &entry)!=EOF && R) {
            52         for(i=0; i<R; i++)
            53             scanf("%s", map[i]);
            54         memset(steps, 0sizeof(steps));
            55         solve();
            56     }
            57 }

            posted on 2010-10-17 11:12 simplyzhao 閱讀(147) 評論(0)  編輯 收藏 引用 所屬分類: G_其他

            導航

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

            統計

            常用鏈接

            留言簿(1)

            隨筆分類

            隨筆檔案

            搜索

            最新評論

            閱讀排行榜

            評論排行榜

            精品久久人人做人人爽综合| 久久国产精品99国产精| 国产成人无码精品久久久免费| 青青青青久久精品国产h| 香蕉久久影院| 91精品国产91久久| 久久精品亚洲精品国产色婷| 精品久久久久久无码中文字幕| 色天使久久综合网天天| 久久夜色精品国产亚洲| 久久久久人妻一区二区三区 | 欧美久久综合九色综合| 777米奇久久最新地址| 亚洲精品无码久久不卡| 青青草原综合久久| 久久精品国产精品亚洲毛片| 久久综合亚洲鲁鲁五月天| 91精品无码久久久久久五月天| 欧美丰满熟妇BBB久久久| 久久精品极品盛宴观看| 久久精品国产亚洲精品| 情人伊人久久综合亚洲| 久久久久亚洲AV无码麻豆| 久久精品国产免费观看三人同眠| 国产成人精品久久| 色综合久久中文综合网| 久久综合综合久久97色| 久久免费精品视频| 精品久久久久久久| 久久亚洲国产午夜精品理论片| 久久精品人人做人人爽97| 久久久久亚洲AV无码麻豆| 精品人妻久久久久久888| 久久综合给合久久国产免费| 久久精品国产免费观看三人同眠| 99久久做夜夜爱天天做精品| 久久精品亚洲乱码伦伦中文| 国产亚洲色婷婷久久99精品91| 精品无码久久久久久国产| 久久亚洲国产成人影院网站| 一级女性全黄久久生活片免费|