哪位大佬帮我看看,可怜兮兮的20

P1454 圣诞夜的极光

```cpp #include<iostream> #include<bits/stdc++.h> #include<string> #include<cstring> #define fo(a,b,c) for(a=b;a<=c;a++) using namespace std; int ans; int f[2][12]={{-2,-1,-1,-1,0,0,0,0,1,1,1,2},{0,1,0,-1,2,1,-1,-2,1,0,-1,0}}; int q[10005][2]; int head,tail=1; int n,m; int cro,ver; char y; bool x[105][105]={0}; int i,j; int ii; void bfs(int iii=i,int jjj=j) { x[iii][jjj]=0; head=0; tail=1; q[1][0]=iii; q[1][1]=jjj; ans++; while(head<tail) { head++; fo(ii,0,11) { cro=q[head][0]+f[0][ii]; ver=q[head][1]+f[1][ii]; if(cro>0 && cro<=n && ver>0 && ver<=m) { if(x[cro][ver]==1) { x[cro][ver]=0; tail++; q[tail][0]=cro; q[tail][1]=ver; } } } } } int main() { cin>>n>>m; memset(x,0,sizeof(x)); fo(i,1,n) { fo(j,1,m) { scanf("%c",&y); if(y==35) { x[i][j]=1; } } } fo(i,1,n) { fo(j,1,m) { if(x[i][j]==1) bfs(i,j); } } cout<<ans; return 0; } ```
by 没想好叫啥 @ 2018-02-05 23:12:28


|