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

    题目:10010 - Where's Waldorf?

    思路:水题。。暴力

    #include <cstdio>
    #include <iostream>
    #include <cstring>
    #include <algorithm>
    #include <cmath>
    using namespace std;
    int row,col,l;
    char s[55][55];
    char str[110];
    int dir[8][2]={-1,1,0,1,1,1,-1,0,1,0,-1,-1,0,-1,1,-1};
    bool is_ok(int i,int j,int k,int p)
    {
        if(s[i][j]==str[k])
        {
            if(k==l-1)
                return true;
            int ii=i+dir[p][0];
            int jj=j+dir[p][1];
            while(ii>=0&&ii<row&&jj>=0&&jj<col&&s[ii][jj]==str[k+1])
            {
                //cout<<s[ii][jj]<<"+++"<<str[k+1]<<endl;
                if(s[ii][jj]==str[k+1]&&k==l-2)
                    return true;
                k++;
                ii+=dir[p][0];
                jj+=dir[p][1];
            }
        }
        return false;
    }
    int main()
    {
        int t;
        scanf("%d",&t);
        for(int cases=1;cases<=t;cases++)
        {
            if(cases==1)
                ;
            else
                printf("
    ");
            scanf("%d%d",&row,&col);
            for(int i=0;i<row;i++)
            {
                getchar();
                for(int j=0;j<col;j++)
                {
                    scanf("%c",&s[i][j]);
                    if(s[i][j]>='A'&&s[i][j]<='Z')
                        s[i][j]+='a'-'A';
                }
            }
            int k;
            scanf("%d",&k);
            for(int c=0;c<k;c++)
            {
                scanf("%s",str);
                l=strlen(str);
                for(int i=0;i<l;i++)
                    if(str[i]>='A'&&str[i]<='Z')
                        str[i]+='a'-'A';
                int tag=0;
                for(int i=0;i<row;i++)
                {
                    for(int j=0;j<col;j++)
                    {
                        //if(s[i][j]==str[0])
                            //cout<<i<<","<<j<<endl;
                        for(int p=0;p<8;p++)
                        {
                            if(is_ok(i,j,0,p))
                            {
                                printf("%d %d
    ",i+1,j+1);
                                tag=1;
                                break;
                            }
                        }
                        if(tag)
                            break;
                    }
                    if(tag)
                        break;
                }
            }
        }
        return 0;
    }
    View Code
  • 相关阅读:
    MIUI(Android)使用Webview上传文件
    使用EntityFramework中DbSet.Set(Type entityType)方法碰到的问题
    Web文件管理:elFinder.Net(支持FTP)
    ASP.NET 根据现有动态页面生成静态Html
    LaTeX学习
    Java Integer剖析
    20140711 loop
    20140711 eat
    20140711 set
    20140710 loop
  • 原文地址:https://www.cnblogs.com/overflow/p/3139096.html
Copyright © 2011-2022 走看看