求帮忙看下哪错了

P1767 家族

粗看bfs的d队列开小了
by HeHere @ 2017-04-19 08:30:35


@[BambooHhr](/space/show?uid=28890) 谢谢,我开大了点,已过 ```cpp #include <iostream> #include <cstring> using namespace std; string in;bool b[110][210]; int dx[4]={-1,0,1,0},dy[4]={0,1,0,-1},n;long long tim; void bfs(int p,int q) { int d[100101][2],x,y,t=0,w=1,i; tim++;b[p][q]=0;d[1][0]=p;d[1][1]=q; do { t++; for (i=0;i<4;i++) { x=d[t][0]+dx[i];y=d[t][1]+dy[i]; if (x>=0&&x<n&&y>=0&&y<200&&b[x][y]) { w++; d[w][0]=x; d[w][1]=y; b[x][y]=0; } } }while(t<w); } int main () { cin>>n; int i,j,len[n+1]; getline(cin,in); for (i=0;i<n;i++) { getline(cin,in); len[i]=in.size(); for (j=0;j<len[i];j++) if (in[j]>='a'&&in[j]<='z') b[i][j]=1; } for (i=0;i<n;i++) for (j=0;j<len[i];j++) if (b[i][j]) bfs(i,j); cout<<tim<<endl; return 0; } ```
by a___ @ 2017-04-19 12:48:16


|