大佬帮忙看看不知道哪错了P1141
  • 板块学术版
  • 楼主Muzzlex
  • 当前回复5
  • 已保存回复5
  • 发布时间2022/1/17 15:21
  • 上次更新2023/10/28 12:08:49
查看原帖
大佬帮忙看看不知道哪错了P1141
464368
Muzzlex楼主2022/1/17 15:21
#include<bits/stdc++.h>
using namespace std; 
int n,m; 
int ans;
int a[105][105];
int xx,yy;
int dx[]={0,0,1,-1},dy[]={-1,1,0,0};
void dfs(int x,int y)
{ 
	if(x>n||x<1||y>n||y<1)return;
	ans++;
	if(x==xx&&y==yy&&ans){cout<<ans-1<<endl;return;}
	for(int i=0;i<4;i++)
	{
		int aa,b;
		aa=x+dx[i];
		b=y+dy[i];
		if(a[x][y]&&!a[aa][b])dfs(aa,b);
		if(!a[x][y]&&a[aa][b])dfs(aa,b);
	}
}
int main()
{
	cin>>n>>m;
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=n;j++)
		{
			cin>>a[i][j];
		} 
	}
	for(int i=1;i<=m;i++)
	{
		ans=0;
		cin>>xx>>yy; 
		dfs(xx,yy); 
	}
	return 0;
}
2022/1/17 15:21
加载中...