• <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>

            superman

            聚精會神搞建設(shè) 一心一意謀發(fā)展
            posts - 190, comments - 17, trackbacks - 0, articles - 0
               :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

            ZOJ 1290 - Word-Search Wonder

            Posted on 2008-05-14 11:57 superman 閱讀(196) 評論(0)  編輯 收藏 引用 所屬分類: ZOJ
             1 /* Accepted 1290 C++ 00:00.01 2988K */
             2 #include <iostream>
             3 
             4 using namespace std;
             5 
             6 int n;
             7 char m[100][100];
             8 struct { int x, y; } dir[8= {
             9     {-10}, {-1+1}, {0+1}, {+1+1},
            10     {+10}, {+1-1}, {0-1}, {-1-1}
            11 };
            12 
            13 bool match(int x, int y, int d, string s)
            14 {
            15     if(d == 0 && x - s.size() + 1 < 0)
            16         return false;
            17     if(d == 1 && (x - s.size() + 1 < 0 || y + s.size() - 1 >= n))
            18         return false;
            19     if(d == 2 && y + s.size() - 1 >= n)
            20         return false;
            21     if(d == 3 && (x + s.size() - 1 >= n || y + s.size() - 1 >= n))
            22         return false;
            23     if(d == 4 && x + s.size() - 1 >= n)
            24         return false;
            25     if(d == 5 && (x + s.size() - 1 >= n || y - s.size() + 1 < 0))
            26         return false;
            27     if(d == 6 && y - s.size() + 1 < 0)
            28         return false;
            29     if(d == 7 && (x - s.size() + 1 < 0 || y - s.size() + 1 < 0))
            30         return false;
            31     
            32     for(int i = 1; i < s.size(); i++)
            33     {
            34         x += dir[d].x, y += dir[d].y;
            35         if(s[i] != m[x][y])
            36             return false;
            37     }
            38     return true;
            39 }
            40 
            41 int main()
            42 {
            43     int N;
            44     cin >> N;
            45     while(N--)
            46     {
            47         cin >> n;
            48         for(int i = 0; i < n; i++)
            49         for(int j = 0; j < n; j++)
            50             cin >> m[i][j];
            51 
            52         string word;
            53         while(cin >> word)
            54         {
            55             if(word == "0")
            56                 break;
            57             
            58             bool found = false;
            59             for(int i = 0; i < n; i++)
            60             for(int j = 0; j < n; j++)
            61                 if(word[0== m[i][j])
            62                     for(int k = 0; k < 8; k++)
            63                     {
            64                         if(match(i, j, k, word))
            65                         {
            66                             cout << i + 1 << ',' << j + 1 << ' ';
            67                             
            68                             if(k != 2 && k != 6)
            69                                 cout << i + 1 + dir[k].x * (word.size() - 1<< ',';
            70                             else cout << i + 1 << ',';
            71                             
            72                             if(k != 0 && k != 4)
            73                                 cout << j + 1 + dir[k].y * (word.size() - 1);
            74                             else cout << j + 1;
            75                             
            76                             found = true;
            77                             goto over;
            78                         }
            79                     }
            80             if(found == false)
            81                 cout << "Not found";
            82             over:
            83                 cout << endl;
            84         }
            85 
            86         if(N)
            87             cout << endl;
            88     }
            89     
            90     return 0;
            91 }
            92 
            亚洲女久久久噜噜噜熟女| 精品久久久久中文字幕一区| 99久久精品免费看国产一区二区三区| 国产精品综合久久第一页| 国产精品伊人久久伊人电影| 一级女性全黄久久生活片免费 | 国产精品久久久久久福利69堂| 久久ZYZ资源站无码中文动漫| 久久精品国产一区二区三区日韩| 99久久人人爽亚洲精品美女| 久久久精品视频免费观看| 久久精品国产AV一区二区三区| 久久精品中文字幕无码绿巨人| 国产综合免费精品久久久| 日韩久久久久中文字幕人妻| 久久99国产精品久久99果冻传媒| 久久精品桃花综合| 久久亚洲精品视频| 少妇高潮惨叫久久久久久| 欧美麻豆久久久久久中文| 久久―日本道色综合久久| 久久亚洲AV无码精品色午夜麻豆 | 狠狠色噜噜色狠狠狠综合久久| 秋霞久久国产精品电影院| 亚洲αv久久久噜噜噜噜噜| 国内精品久久久久久久久电影网| 97热久久免费频精品99| 一本一道久久综合狠狠老| 亚洲欧美精品一区久久中文字幕| 成人a毛片久久免费播放| 91久久婷婷国产综合精品青草| 伊人久久大香线蕉综合影院首页| 久久精品国产AV一区二区三区| 午夜精品久久久久久影视riav| 香港aa三级久久三级老师2021国产三级精品三级在 | 日本精品久久久中文字幕| 97精品伊人久久大香线蕉app| 国产婷婷成人久久Av免费高清| …久久精品99久久香蕉国产| 国产精品对白刺激久久久| 久久无码人妻一区二区三区 |