1 条题解
-
0
思路
10乘10二值图,外围四连通0为外部,其余0计入面积,不把边界1计入。
参考程序(C++11)
#include <bits/stdc++.h> using namespace std; int main(){int a[12][12]={},seen[12][12]={};for(int i=1;i<=10;i++)for(int j=1;j<=10;j++)cin>>a[i][j];queue<pair<int,int>>q;q.push({0,0});seen[0][0]=1;while(!q.empty()){auto p=q.front();q.pop();int dx[]={1,-1,0,0},dy[]={0,0,1,-1};for(int k=0;k<4;k++){int x=p.first+dx[k],y=p.second+dy[k];if(x>=0&&x<12&&y>=0&&y<12&&!a[x][y]&&!seen[x][y]){seen[x][y]=1;q.push({x,y});}}}int ans=0;for(int i=1;i<=10;i++)for(int j=1;j<=10;j++)if(!a[i][j]&&!seen[i][j])ans++;cout<<ans<<'\n';}
- 1