求各位大佬帮忙看一看这一题为什么只有40分。。。

P1767 家族

膜拜大佬
by WilliamPen @ 2017-07-12 19:22:37


```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 王子祥 @ 2017-08-31 20:08:28


@[yhw的](/space/show?uid=35137) 写的
by 王子祥 @ 2017-08-31 20:09:23


|