有点小问题

P1454 圣诞夜的极光

?????
by Mark12138 @ 2017-07-05 16:36:49


```cpp - #include <cstdio> #include <iostream> #include <cstring> #include <queue> using namespace std; char map[100][100]; bool visited[100][100]; int change[2][12]= {{0,-1,0,1,-2,-1,1,2,-1,0,1,0},{-2,-1,-1,-1,0,0,0,0,1,1,1,2}}; int cc=0; int m,n; struct point { int r,c; }; queue<point> q; void BFS(int r,int c) { int i,newr,newc; bool yes; point p; point cookie; p.r=r; p.c=c; q.push(p); visited[r][c]=1; while(!q.empty()) { p=q.front(); q.pop(); yes=0; for(i=0; i<12; i++) { newr=p.r+change[0][i]; newc=p.c+change[1][i]; if(newc<m&&newc>=0&&newr<n&&newr>=0&&visited[newr][newc]==0&&map[newr][newc]=='#') { cookie.r=newr; cookie.c=newc; q.push(cookie); visited[newr][newc]=1; } } } cc++; } int main() { memset(map,'-',sizeof(map)); memset(visited,0,sizeof(visited)); int i,j; cin>>n>>m; for(i=0; i<n; i++) { for(j=0; j<m; j++) cin>>map[i][j]; } for(i=0; i<n; i++) { for(j=0; j<m; j++) if(visited[i][j]==0&&map[i][j]=='#') BFS(i,j); } cout<<cc; return 0; }0. ```
by 蔚兰飞雪 @ 2017-07-05 16:52:52


|