求助!!!!
  • 板块学术版
  • 楼主Star_Whale
  • 当前回复1
  • 已保存回复1
  • 发布时间2023/8/8 11:15
  • 上次更新2023/11/3 05:14:15
查看原帖
求助!!!!
571445
Star_Whale楼主2023/8/8 11:15
#include<bits/stdc++.h>     
using namespace std;
int b,e=2,a[410][410],pro[410*410][2],dx[8]={2,-2,2,-2,-1,1,-1,1},dy[8]={1,1,-1,-1,2,2,-2,-2},n,m,x,y;
int main()
{
    cin>>n>>m>>x>>y;
    memset(a,0xff,sizeof(a));
    pro[1][0]=x;
    pro[1][1]=y;
    a[x][y]=0;
    while(b++<e-1)
    {
		for(int i=0;i<8;i++)
	    {
	        int nx=pro[b][0]+dx[i];
	        int ny=pro[b][1]+dy[i];
	        if(nx>0&&ny>0&&nx<=n&&ny<=m&&a[nx][ny]==-1)
	        pro[e][0]=nx,
	        pro[e++][1]=ny,
	        a[nx][ny]=a[pro[b][0]][pro[b][1]]+1;
	    }
	}
	for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=m;j++)
        printf("%5d",a[i][j]);
        	printf("\n");
    }    
    return 0;
} 

有人能解释一下变量e是什么吗以及while(b++<e-1)?

2023/8/8 11:15
加载中...