若是凉夜已成梦

青春里 总有些事情要努力去做 总有些梦想要拼命去追。


  • 运维

  • 前端

  • 编程

  • 随笔

  • hust-oj

3389: 小岛面积-期末考试试题

发表于 2017-10-06   |   分类于 HUSTOJ   |   阅读次数 1,628

题目描述

上面矩阵的中的1代表海岸线,0代表小岛。求小岛面积(即被1中包围的0的个数)的最大值。

输入

第一行输入一个整数N(1<=N<=100),表示输入方阵的维数

输入一个N维方阵

输出

小岛面积

样例输入

6
1 1 1 1 1 1
1 1 0 0 0 1
1 0 0 0 1 0
1 1 0 1 1 1
0 1 0 1 0 0
1 1 1 1 1 1

样例输出

8

参考代码

#include<stdio.h>
int N;
int count=0;
int main() 
{
    void dsr(int x,int y,int c[N][N]);
    scanf("%d",&N);
    int a[N][N];
    int d[N][N];
    int i,j;
    for (i=0;i<N;i++)
            for (j=0;j<N;j++)
            scanf("%d",&a[i][j]);
    for (i=0;i<N;i++)
            for (j=0;j<N;j++) 
    {
        dsr(i,j,a);
        d[i][j]=count;
        count=0;
    }
    int max=0;
    for (i=0;i<N;i++)
            for (j=0;j<N;j++) 
    {
        if(max<d[i][j])
                        max=d[i][j];
    }
    printf("%d",max);
}
void dsr(int x,int y,int c[N][N]) 
{
    if(x>N || y>N || x<0 || y<0 || c[x][y]!=0)
            return ;
    if(c[x][y]==0) 
    {
        count++;
        c[x][y]++;
        dsr(x+1,y,c);
        dsr(x-1,y,c);
        dsr(x,y+1,c);
        dsr(x,y-1,c);
    }
    return ;
}

解析

暂无

hustoj

发表评论 取消回复

邮箱地址不会被公开。 必填项已用*标注

*
*


hoxis wechat
著作权归作者所有
站点更新说明
  • 文章目录
  • 站点概览
若是凉夜已成梦

若是凉夜已成梦

青春里 总有些事情要努力去做 总有些梦想要拼命去追。

1904 日志
6 分类
12 标签
RSS
weibo github twitter facebook

友情链接

原站点 Dreams孤独患者 Skip
© 2017 若是凉夜已成梦
Powered by WordPress | 已运行
Theme By NexT.Mist