专栏首页calmoundWhere's Waldorf?

Where's Waldorf?

题意:找相同字符窜首字母的地址

读题。。。。A word matches a straight, uninterrupted line of letters in the grid.The outputs of two consecutive cases will be separated by a blank line.这两句haunted都没读出来。。。。一个说字符窜必须直线,一个说输出在两组数据内,第一个没读导致我用搜索TLE,第二个WA

#include<stdio.h>
#include<string.h>
char str[100][100],rem[100];

int t1[]={-1,-1,-1,0,0,1,1,1};
int t2[]={-1,0,1,-1,1,-1,0,1};
int len,m,n;

void Rever(int row,int col,int ans)
{
    if(str[row][col]>='A' && str[row][col]<='Z') str[row][col]+=32;
    if(rem[ans]>='A' && rem[ans]<='Z') rem[ans]+=32;
}

int Action(int row,int col)
{
    int ans=0,i;
    int x=row,y=col;
    Rever(row,col,ans);
    if(str[row][col]!=rem[ans]) return 0;
    for (i=0;i<8;i++)
    {
        ans=0;
        while(1)
        {
            Rever(row,col,ans);
            if(row<0 || col<0 || row>=m || col>=n || str[row][col]!=rem[ans]) break;
            {
                if(ans==len-1) return 1;
                ans++;
                row+=t1[i];col+=t2[i];
            }
        }
        row=x;col=y;
    }
    return 0;
}

int main()
{
    int i,j;
    int T,x,k;
    int flag;
    scanf("%d",&T);
    while(T--)
    {
        scanf("%d%d",&m,&n);
        for (i=0;i<m;i++)
        {
            scanf("%s",str[i]);
        }
        scanf("%d",&x);
        for (k=0;k<x;k++)
        {
            scanf("%s",rem);
            len=strlen(rem);
            for (i=0;i<m;i++)
            {
                for (j=0;j<n;j++)
                {
                    flag=0;
                    flag=Action(i,j);
                    if(flag) break;
                }
                if(flag) break;
            }
            printf("%d %d\n",i+1,j+1);
        }
        if(T!=0) printf("\n");
    }
    return 0;
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • UVA Machined Surfaces

    题意:这道题我读了很久,也没有读懂最后看的解体报告才懂得题意,题目不难,但是还是错了两次,几个字符窜,左边的‘x’向右边移动当和右边的‘x’连接时候,求剩下的字...

    用户1624346
  • ZOJ 3631 Watashi's BG(01dp)

    01dp不过由于数组过于大,开不开,学了搜索过了,先记录下 还有一种方法 #include<stdio.h> #include<algorithm> using...

    用户1624346
  • hust Little Sheep and a paper

    http://acm.sdibt.edu.cn:8080/judge/contest/view.action?cid=573#problem/H 题意:一张纸对...

    用户1624346
  • 基于灰度共生矩阵(GLCM)的图像纹理分析与提取

    灰度共生矩阵(Gray Level CO-Occurrence Matrix-GLCM)是图像特征分析与提取的重要方法之一,在纹理分析、特征分类、图像质量评价灯...

    OpenCV学堂
  • python如何将两张图片生成为全景图片

    本文实例为大家分享了python将两张图片生成全景图片的具体代码,供大家参考,具体内容如下

    砸漏
  • 【模板小程序】二分法插入排序

    Java版源程序来自:http://www.cnblogs.com/PerkinsZhu/p/5674572.html,在此感谢。

    xiaoxi666
  • InnoDB行格式 innodb_file_format 介绍

    InnoDB行格式 innodb_file_format 对TEXT/BLOB的影响:

    二狗不要跑
  • 看他怎么“折腾”(三)

    这段代码不用太多解释了,只说一下Vec3b,这是OpenCV自定义的一个数据结构,内部有3个uchar的成员,分别来表示B, , R的值。

    视界音你而不同
  • Innodb相关的一些参数

    这个值一般设置为8M或者16M,我们只需要保证每秒产生的事务量在这个大小之内即可,因为每一秒种innodb会将重做日志缓冲刷新到日志文件中。

    AsiaYe
  • Python输入二维数组

    前不久对于Python输入二维数组有些不解,今日成功尝试,记以备忘。这里以输入1-9,3*3矩阵为例

    py3study

扫码关注云+社区

领取腾讯云代金券