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

    这道题目真是让我错的真是欲哭无泪啊,在这里我还是要感慨一下我的英语水平,那些意思我实在看不很明确,导致我在小细节上连续出错,我受不了了

    这道题目也就涉及了一点点算法的知识,更多的是字符串处理的掌握。不过如果你对与字符串的库函数掌握的更广一些的话,你就可以省去一些麻烦了,给大家介绍个网站,字符串处理的库函数

    http://zhwen.org/tools/clib/string/bcmp.html 就在这个网站上

    下面贴上我的代码

    View Code
    //代码就在下面了,相信不用我过多的介绍,聪明的你一定会看懂,而且会优化代码
    #include<stdio.h>
    #include<string.h>
    #include<ctype.h>
    const int x[] = {0,-1,-1,-1,0,1,1,1},y[] = {-1,-1,0,1,1,1,0,-1};
    int main()
    {
        int T;
        scanf("%d",&T);
        while(T--)
        {
            int i, j, l, r, m, n, len, cases, t, k;
            char st[60][60], s[60];
            scanf("%d%d",&m,&n);
            getchar();
            for(i = 0;i < m; i++)
            {
                gets(st[i]);
                len = strlen(st[i]);
                for(j = 0;j < len; j++)
                    // 字符串处理函数,将小写字母转化为大写字母,此函数包含在'ctype.h'中
                st[i][j] = toupper(st[i][j]);
            }
            scanf("%d",&cases);
            getchar();
            while(cases--)
            {
                gets(s);
                len = strlen(s);
                for(i = 0;i < len; i++)
                s[i] = toupper(s[i]);
                t = 0;
                for(i = 0;i < m; i++)
                {
                    for(j = 0;j < n; j++)
                    {
                        if(st[i][j] == s[0])
                        {
                           for(k = 0;k < 8; k++)
                           {
                               for(l = i,r = j, t = 0;l >= 0 && r >= 0 && l < m && r < n;l += x[k],r += y[k],t++)
                               {
                                   if(st[l][r] != s[t])
                                   break;
                                   if(t == len-1)
                                   {
                                       printf("%d %d\n",i+1,j+1);
                                   }
                               }
                               if(t == len) break;
                           }
                        }
                        if(t == len) break;
                    }
                    if(t == len) break;
                }
            }
            if(T)
                printf("\n");
        }
        return 0;
    }
  • 相关阅读:
    poj 3666 Making the Grade
    poj 3186 Treats for the Cows (区间dp)
    hdu 1074 Doing Homework(状压)
    CodeForces 489C Given Length and Sum of Digits...
    CodeForces 163A Substring and Subsequence
    CodeForces 366C Dima and Salad
    CodeForces 180C Letter
    CodeForces
    hdu 2859 Phalanx
    socket接收大数据流
  • 原文地址:https://www.cnblogs.com/SDUTYST/p/2524579.html
Copyright © 2011-2022 走看看