标签:oid 尺寸 param == 数据 class printf memset 内存
4 ..BW ...B .... ....
样例输出
15 1
分析:
DFS遍历,只统计一种棋子的数量。
#include <cstdio> #include <string.h> #define N 102 char w[N][N]; bool mark[N][N]; int n,num,u,v; int go[][2]={1,0,-1,0,0,1,0,-1}; void DFS(int x,int y){ num++; mark[x][y] = true; for(int i = 0;i < 4;i++){ u = x + go[i][0]; v = y + go[i][1]; if(!mark[u][v] && w[u][v] == ‘.‘) DFS(u,v); } return; } int main(){ scanf("%d",&n); memset(w,‘#‘,sizeof(w)); getchar(); for(int i = 1;i <= n;i++){ for(int j = 1;j <= n;j++) scanf("%c",&w[i][j]); getchar(); } num = 0; for(int i = 1;i <= n;i++) for(int j = 1;j <= n;j++){ if(w[i][j] == ‘B‘ && !mark[i][j]) DFS(i,j); } printf("%d %d",num,n*n - num); }
标签:oid 尺寸 param == 数据 class printf memset 内存
原文地址:http://www.cnblogs.com/starryxsky/p/7103308.html