比赛 20201031 评测结果 AAAAAAAAAAA
题目名称 乳草的入侵 最终得分 100
用户昵称 ShallowDream雨梨 运行时间 0.000 s
代码语言 C++ 内存使用 0.00 MiB
提交时间 2020-10-31 16:28:46
显示代码纯文本
#include<cstdio>
#include<iostream>
using namespace std;
int n,m,bx,by;
bool mp[101][101];
int xx[8]={1,-1,1,-1,0,0,1,-1},yy[8]={1,-1,-1,1,1,-1,0,0};
struct data{
       int x,y,step;
       }q[10001];
bool judge(int x,int y)
{
     if(mp[x][y]||x<1||y<1||x>m||y>n)return 0;
     mp[x][y]=1;
     return 1;
     }
int search(int bx,int by)
{
    int t=0,w=1;
    int nowx,nowy;
    q[0].x=bx;q[0].y=by;
    mp[bx][by]=1;
    while(t<w)
    {
              for(int i=0;i<8;i++)
              {
                   nowx=q[t].x+xx[i];
                   nowy=q[t].y+yy[i];
                   if(judge(nowx,nowy))
                      {q[w].x=nowx;q[w].y=nowy;q[w].step=q[t].step+1;w++;}
                      }
              t++;
              }
    printf("%d",q[w-1].step);
    }
int main()
{
		freopen("milkweed.in", "r", stdin);
	freopen("milkweed.out", "w", stdout);
    scanf("%d%d%d%d",&n,&m,&bx,&by);
    char ch[101];
    for(int i=m;i>0;i--)
    {
            scanf("%s",ch);
            for(int j=0;j<n;j++)
               if(ch[j]=='*')mp[i][j+1]=1;
            }
    search(by,bx);
    return 0;
    }