为什么RE呀!!!求助大佬!!!!!!!
  • 板块P1141 01迷宫
  • 楼主哈迪斯
  • 当前回复31
  • 已保存回复31
  • 发布时间2018/10/29 21:40
  • 上次更新2024/9/6 14:30:52
查看原帖
为什么RE呀!!!求助大佬!!!!!!!
113983
哈迪斯楼主2018/10/29 21:40

#include<bits/stdc++.h> using namespace std; int h=0,n,m,z[1002][1002],map1[1002][1002]; bool s[1002][1002]; char ss[1003]; int num[100001],dy[5]={0,-1,0,1,0},dx[5]={0,0,-1,0,1}; void bfs(int y,int x) { z[y][x]=h; num[h]++; s[y][x]=1; for(int i=1;i<=4;i++) { int a=y+dy[i],b=x+dx[i]; if(a>0&&a<=n&&b>0&&b<=n&&((!map1[y][x])==map1[a][b])&&(!s[a][b])) bfs(a,b); }
return ; } int main() { scanf("%d%d",&n,&m); gets(ss); for(int i=1;i<=n;i++)
{ cin>>ss; for(int z=0;z<n;z++) map1[i][z+1]=ss[z]-'0'; } for(int i=1;i<=n;i++) for(int z=1;z<=n;z++) if(!s[i][z]) {h++,bfs(i,z);}
for(int i=1;i<=m;i++)
{ int k,l; scanf("%d%d",&k,&l); printf("%d\n",num[z[k][l]]); }

}

2018/10/29 21:40
加载中...