题目地址:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&category=12&problem=951&mosmsg=Submission+received+with+ID+12045188

忒恶心了,UVa不提示格式错误,格式错误直接WA。。。

C++代码:

#include <cstdio>
#include <utility>
#include <cstring>
using namespace std;
char s[100][100];
int m,n;
int len;
bool searchright(int a,int b,char name[])
{
int i=a,j=b;
if(b+len-1>=n)
return false;
for(;j<=b+len-1;++j)
if(s[i][j]!=name[j-b])
return false;
return true;
}
bool searchleft(int a,int b,char name[])
{
int i=a,j=b;
if(b-len+1<0)
return false;
for(;j>=b-len+1;--j)
if(s[i][j]!=name[b-j])
return false;
return true;
}
bool searchup(int a,int b, char name[])
{
int i=a,j=b;
if(a-len+1<0)
return false;
for(;i>=a-len+1;--i)
if(s[i][j]!=name[a-i])
return false;
return true;
}
bool searchdown(int a,int b, char name[])
{
int i=a,j=b;
if(a+len-1>=m)
return false;
for(;i<=a+len-1;++i)
if(s[i][j]!=name[i-a])
return false;
return true;
}
bool searchleftup(int a,int b,char name[])
{
int i=a,j=b;
if((i-len+1<0)||(j-len+1<0))
return false;
for(;i>=a-len+1;--i,--j)
if(s[i][j]!=name[a-i])
return false;
return true;
}
bool searchrightup(int a,int b,char name[])
{
int i=a,j=b;
if((i-len+1<0)||(b+len-1>=n))
return false;
for(;i>=a-len+1;--i,++j)
if(s[i][j]!=name[a-i])
return false;
return true;
}
bool searchleftdown(int a,int b,char name[])
{
int i=a,j=b;
if((i+len-1>=m)||(j-len+1<0))
return false;
for(;i<=a+len-1;++i,--j)
if(s[i][j]!=name[i-a])
return false;
return true;
}
bool searchrighdown(int a,int b,char name[])
{
int i=a,j=b;
if((i+len-1>=n)||(j+len-1>=n))
return false;
for(;i<=a+len-1;++i,++j)
if(s[i][j]!=name[i-a])
return false;
return true;
}
pair<int,int> search(char name[])
{
int i=0,j=0;
for(i=0;i<m;++i)
{
for(j=0;j<n;++j)
{
if(searchleft(i,j,name)||searchright(i,j,name)||searchup(i,j,name)||searchdown(i,j,name)||
searchleftup(i,j,name)||searchrightup(i,j,name)||searchleftdown(i,j,name)||searchrighdown(i,j,name))
goto loop;
}
}
loop:
return make_pair(i,j);
}
int main()
{
char name[100];
int cas;
while(scanf("%d",&cas)!=EOF)
{
while(cas--)
{
scanf("%d%d",&m,&n);
int i,j;
for(i=0;i<m;++i)
{
scanf("%s",s[i]);
for(j=0;s[i][j];++j)
if(s[i][j]>='A'&&s[i][j]<='Z')
s[i][j]=s[i][j]-'A'+'a';
}
int num;
scanf("%d",&num);
while(num--)
{
scanf("%s",name);
for(i=0;name[i];++i)
if(name[i]>='A'&&name[i]<='Z')
name[i]=name[i]-'A'+'a';
len=strlen(name);
pair<int,int> p=search(name);
printf("%d %d\n",p.first+1,p.second+1);
}
if(cas)
printf("\n");
}
}
return 0;
}

UVa-Where's Waldorf?的更多相关文章

  1. [算法练习] UVA-10010-Where's Waldorf?

    UVA Online Judge 题目10010 Where's Waldorf?  Waldorf在哪? 问题描述: 给出一个m行n列的字符矩阵(),和一个单词列表,在矩阵上匹配每个单词.在矩阵上匹 ...

  2. UVA大模拟代码(白书训练计划1)UVA 401,10010,10361,537,409,10878,10815,644,10115,424,10106,465,10494

    白书一:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=64609#overview 注意UVA没有PE之类的,如果PE了显示WA. UVA ...

  3. uva 1354 Mobile Computing ——yhx

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAABGcAAANuCAYAAAC7f2QuAAAgAElEQVR4nOy9XUhjWbo3vu72RRgkF5

  4. UVA 10564 Paths through the Hourglass[DP 打印]

    UVA - 10564 Paths through the Hourglass 题意: 要求从第一层走到最下面一层,只能往左下或右下走 问有多少条路径之和刚好等于S? 如果有的话,输出字典序最小的路径 ...

  5. UVA 11404 Palindromic Subsequence[DP LCS 打印]

    UVA - 11404 Palindromic Subsequence 题意:一个字符串,删去0个或多个字符,输出字典序最小且最长的回文字符串 不要求路径区间DP都可以做 然而要字典序最小 倒过来求L ...

  6. UVA&&POJ离散概率与数学期望入门练习[4]

    POJ3869 Headshot 题意:给出左轮手枪的子弹序列,打了一枪没子弹,要使下一枪也没子弹概率最大应该rotate还是shoot 条件概率,|00|/(|00|+|01|)和|0|/n谁大的问 ...

  7. UVA计数方法练习[3]

    UVA - 11538 Chess Queen 题意:n*m放置两个互相攻击的后的方案数 分开讨论行 列 两条对角线 一个求和式 可以化简后计算 // // main.cpp // uva11538 ...

  8. UVA数学入门训练Round1[6]

    UVA - 11388 GCD LCM 题意:输入g和l,找到a和b,gcd(a,b)=g,lacm(a,b)=l,a<b且a最小 g不能整除l时无解,否则一定g,l最小 #include &l ...

  9. UVA - 1625 Color Length[序列DP 代价计算技巧]

    UVA - 1625 Color Length   白书 很明显f[i][j]表示第一个取到i第二个取到j的代价 问题在于代价的计算,并不知道每种颜色的开始和结束   和模拟赛那道环形DP很想,计算这 ...

  10. UVA - 10375 Choose and divide[唯一分解定理]

    UVA - 10375 Choose and divide Choose and divide Time Limit: 1000MS   Memory Limit: 65536K Total Subm ...

随机推荐

  1. Cf 444C DZY Loves Colors(段树)

    DZY loves colors, and he enjoys painting. On a colorful day, DZY gets a colorful ribbon, which consi ...

  2. Python 静态变量 与 静态方法

    静态变量: XXXClass.py: class XXXClass: CONST_Value = 10.1 Tester.py: import XXXClass print XXXClass.XXXC ...

  3. Docker运行 Mono

    Docker运行 Mono Docker 是最近相当热门的一个名词,它是一个基于 Linux Container 的轻量化的虚拟技术,而微软也相当积极与 Docker 合作,在 Azure 上支持这个 ...

  4. Python 3.3 try catch所有的错误Error,不包括Exception。关键在于 sys.exc_info()

    import os; import sys; #---------------------------------------------- def main( ) : try : a = 1 / 0 ...

  5. [Nhibernate]二级缓存

    [Nhibernate]二级缓存 目录 写在前面 文档与系列文章 二级缓存 Nhibernate二级缓存提供程序 一个例子 总结 写在前面 上篇文章介绍了nhibernate中一级缓存的相关内容,一级 ...

  6. WP 开发中.xaml 与.xaml.cs

    关于 WP 开发中.xaml 与.xaml.cs 的关系   今天我们先来看一下在WP8.1开发中最长见到的几个文件之间的关系.比较论证,在看这个问题之前我们简单看看.NET平台其他两个不同的框架: ...

  7. js实现是倒计时功能

    工作中经常用到倒计时的功能,最近在整理之前做的项目的时候,发现自己写过一个倒计时的功能的效果,这里和大家分享下!实现这个功能是用原生js写的,不需要加载额外的库文件!功能比较简单,但是可以在此基础上扩 ...

  8. jquery背景动画插件使用

    在网页制作动画特效的时候,有时候想通过背景插入图片,然后通过控制背景显示的位置来实现一些动画效果,这样就不用使用绝对定位控制left和top来实现动画效果!但是jquery本身的动画函数是不支持背景动 ...

  9. Kinect for Windows V2.0 新功能

    系统要求: win8  or  win8.1 硬件要求: 64位(x64)处理器 i7 2.5-GHz或更快的处理器 内置USB 3.0总线 4 GB RAM DX11图形适配器 外观: 第二代Kin ...

  10. QTP脚本不能录制怎么办?

    QTP是基于VBS脚本语言的,大部分VBS脚本都能在QTP上运行,只是在一些细节上略有不同,比如说VBS上停止用sleep,QTP上用wait.QTP的强大之处在于对程序窗口的操作,有很多针对窗体的属 ...