zoukankan      html  css  js  c++  java
  • Where's Waldorf?

    使用函数,结构会更清晰一些;

    fgets() 使用错,改为 scanf();

    边界判断错误(每一列下标都是从 0 开始,以 n-1 结尾),判断是否超出边界时,错写为 len*d[s][0];

    d[8][2] 的第5项错写成 {0,1}了。

    不管咋样,反正 AC 了。。

     1 /* UVa 10010 - Where's Waldorf? */
    2 # include <stdio.h>
    3 # include <string.h>
    4 # include <ctype.h>
    5
    6 # define IN(up, x, low) (((x)<=(up)) && ((x)>=(low)))
    7 # define N 55
    8
    9 const int d[8][2] = {{-1,0},{-1,1},{0,1},{1,1},{1,0},{-1,1},{0,-1},{-1,-1}};
    10
    11 char grid[N][N];
    12 char word[N*2];
    13 int T, m, n, k, x, y;
    14
    15 int main()
    16 {
    17 int i, j, cnt, s, len;
    18
    19 scanf("%d", &T);
    20 while (T--)
    21 {
    22 scanf("%d %d", &m, &n);
    23 for (i = 1; i <= m; ++i)
    24 scanf("%s", grid[i]);
    25 for (i = 1; i <= m; ++i)
    26 for (j = 0; j<=n && grid[i][j]; ++j)
    27 grid[i][j] = toupper(grid[i][j]);
    28 scanf("%d", &k);
    29 while (k--)
    30 {
    31 scanf("%s", word);
    32 len = strlen(word);
    33 for(i = 0; i < len; ++i)
    34 word[i] = toupper(word[i]);
    35
    36 for (i = 1; i <= m; ++i)
    37 for (j = 0; j < n; ++j)
    38 {
    39 if (grid[i][j] != word[0]) continue;
    40 cnt = 0;
    41 for (s = 0; s < 8; ++s)
    42 {
    43 if (IN(m,i+(len-1)*d[s][0],1) && IN(n-1,j+(len-1)*d[s][1],0))
    44 {
    45 ++cnt;
    46 while (cnt < len)
    47 {
    48 if (grid[i+cnt*d[s][0]][j+cnt*d[s][1]] == word[cnt])
    49 ++cnt;
    50 else
    51 {
    52 cnt = 0;
    53 break;
    54 }
    55 }
    56 if (cnt == len)
    57 {
    58 x = i, y = j+1;
    59 s = 8;
    60 i = m, j = n;
    61 break;
    62 }
    63 }
    64 }
    65 }
    66 printf("%d %d\n", x, y);
    67 }
    68 if(T) printf("\n");
    69 }
    70
    71 return 0;
    72 }



  • 相关阅读:
    几种排序算法比较
    VB 增强的部件与引用
    EXCEL表格常用函数使用的难点
    VBA取得EXCEL表格中的行数和列数
    VB指针 与CopyMemory
    【VB】StrConv函数 vbUnicode用法
    TCP/IP笔记(七)TCP详解
    TCP/IP笔记(六)TCP与UDP
    TCP/IP笔记(四)IP协议
    TCP/IP笔记(三)数据链路层
  • 原文地址:https://www.cnblogs.com/JMDWQ/p/2397751.html
Copyright © 2011-2022 走看看