改代码(小错误)
  • 板块灌水区
  • 楼主spyz202212
  • 当前回复1
  • 已保存回复1
  • 发布时间2023/12/3 11:45
  • 上次更新2023/12/3 14:32:51
查看原帖
改代码(小错误)
1025010
spyz202212楼主2023/12/3 11:45

[题目描述]

编程计算由“”号围成的下列图形的面积。面积计算方法是统计号所围成的闭合曲线中水平线和垂直线交点的数目。如下图所示,在10×10的二维数组中,有“*”围住了15个点,因此面积为15。

输入

10×10的图形。 输出

输出面积。 样例输入

0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 0 0 0 1 0 1 0 0 1 0 1 0 1 0 0 1 0 0 1 0 0 1 1 0 1 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0

样例输出

15

using namespace std;
int a[15][15],hx[4]={0,1,0,-1},hy[4]={1,0,-1,0},sum;
int dfs(int x,int y){
    if(x<0&&x>11&&y<0&&y>11) a[x][y]=1;
    else return ;
    for(int i=0;i<4;i++){
        int xz=x+hx[i],yz=y+hy[i];
        dfs(xz,yz);
    }
}
int main(){
 
    for(int i=1;i<=10;i++){
        for(int j=1;j<=10;j++){
            cin>>a[i][j];
        }
    }
    dfs(0,0);
    for(int i=1;i<=10;i++){
        for(int j=1;j<=10;j++){
            if(a[i][j]==0) sum++;
        }
    }
    cout<<sum;
}```
2023/12/3 11:45
加载中...