看不下去的代码放这有机会用手机看。。。

来源:互联网 发布:qq飞行岛 知乎 编辑:程序博客网 时间:2024/04/29 11:40
1.UVa 10010 Where's Waldorf? 
from cnblogs's rollenholt
#include<stdio.h>#include<string.h>#define maxn 57long test,m,n,k;char r[maxn][maxn];const long xd[]={-1,-1,0,1,1,1,0,-1},yd[]={0,1,1,1,0,-1,-1,-1};void search(const char *a,long&x,long &y){    longpos,xx,yy;    for(longi=1;i<=m;i++)    for(longj=1;j<=n;j++)      if(r[i][j]==a[0])      {         for(longt=0;t<8;t++)         {            pos=0;xx=i;yy=j;            while(a[pos]&&a[pos]==r[xx][yy])            {xx+=xd[t];yy+=yd[t];pos++;}            if(a[pos]==0)            {x=i;y=j;return;}         }      }}int main(){    scanf("%ld",&test);    for(longcas=1;cas<=test;cas++)    {       longx,y;       charword[maxn];       if(cas>=2)printf("\n");       memset(r,0,sizeof(r));       scanf("%ld%ld",&m,&n);       for(longi=1;i<=m;i++)       {          getchar();          for(longj=1;j<=n;j++)          {             scanf("%c",&r[i][j]);             if(r[i][j]>='a'&&r[i][j]<='z') r[i][j]+='A'-'a';          }       }       scanf("%ld",&k);       for(longi=1;i<=k;i++)       {          scanf("%s",word);          longj=0;          while(word[j])          {             if(word[j]>='a'&&word[j]<='z') word[j]+='A'-'a';             j++;          }          search(word,x,y);          printf("%ld %ld\n",x,y);       }    }return 0;}





原创粉丝点击