麻烦大佬帮我看一下程序为什么只有50分
  • 板块P1605 迷宫
  • 楼主Frank128
  • 当前回复1
  • 已保存回复1
  • 发布时间2024/9/9 18:11
  • 上次更新2024/9/9 21:42:14
查看原帖
麻烦大佬帮我看一下程序为什么只有50分
1359431
Frank128楼主2024/9/9 18:11
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
struct node{
	ll x,y;
};
ll n,m,t,a[10][10],flag=0;
ll walk[4][2]={{1,0},{-1,0},{0,1},{0,-1}};
queue<node> q;
int main(){
	cin>>n>>m>>t;
	ll sx,sy,fx,fy;
	cin>>sx>>sy>>fx>>fy;
	memset(a,0,sizeof(a));
	for(ll i=1;i<=t;i++){
		ll c,d;
		cin>>c>>d;
		a[c][d]=1;
	}
	a[sx][sy]=1;
	q.push((node){sx,sy});
	while(q.size()){
		node u=q.front();
		ll ux=u.x,uy=u.y;
		q.pop();
		if(ux==fx&&uy==fy){
			flag++;
			a[ux][uy]=0;
			continue;
		}
		for(ll k=0;k<4;k++){
			ll cx=ux+walk[k][0],cy=uy+walk[k][1];
			if(cx<1||cx>n||cy<1||cy>m||a[cx][cy]==1) continue;
			 a[cx][cy]=1;
			 q.push((node){cx,cy});
		}
	}
	cout<<flag;
	return 0;
}
2024/9/9 18:11
加载中...