社区讨论
求助!求助!
P114101迷宫参与者 1已保存回复 0
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @mi85y0g0
- 此快照首次捕获于
- 2025/11/21 09:10 4 个月前
- 此快照最后确认于
- 2025/11/21 09:10 4 个月前
CPP
#include<iostream>
using namespace std;
long long o[1001][1001],da[1000001],f,e,q1[1000001],q2[1000001],h[4]={1,-1,0,0},s[4]={0,0,1,-1},n,m,p[1001][1001],x[100001],y[100001];
long long cinn(){
char z[1001][1001];
for(long long i=1;i<=n;i++)
for(long long j=1;j<=n;j++){
cin>>z[i][j];p[i][j]=z[i][j]-'0';
}
return 0;
}
long long bfs(){
for(long long i=1;i<=m;i++){
cin>>x[i]>>y[i];
long long xx,yy;
if(e==1000000) e=0;
else e++;
da[i]=1;o[x[i]][y[i]]=0-i;
q1[f]=x[i];q2[f]=y[i];
while(f<e){
for(long long j=0;j<=3;j++){
xx=q1[f]+h[j];yy=q2[f]+s[j];
if((o[xx][yy]!=0-i)&&(p[xx][yy]==p[q1[f]][q2[f]]-1||p[xx][yy]==p[q1[f]][q2[f]]+1)&&(p[xx][yy]==0||p[xx][yy]==1)&&(p[q1[f]][q2[f]]==0||p[q1[f]][q2[f]]==1)&&xx>0&&xx<=n&&yy>0&&yy<=n){
q1[e]=xx;q2[e]=yy;da[i]++;o[xx][yy]=0-i;
if(e==1000000) e=0;
else e++;
}
}
if(f==1000000) f=0;
else f++;
}
}
return 0;
}
int main(){
cin>>n>>m;
cinn();
bfs();
for(long long i=1;i<=m;i++)
cout<<da[i]<<endl;
return 0;
}
辣鸡代码,请大佬帮忙查错
回复
共 0 条回复,欢迎继续交流。
正在加载回复...