zoukankan      html  css  js  c++  java
  • 北航 2012年考研复试题2

    /*理解题目本身意思,可以发现对于矩阵中的0是否属于内陆,取决于该0所处的行和列上,如果0满足,
    如下条件则O为内陆,否则不是。
    0所在的行,0的左边和右边必须有1
    0所在的列,0的上面和下面必须有1
    所以,解题思路就是,遍历所有的行和列,记录改行或列,最左面和最右面(或者最上面和最下面)1的坐标,
    然后当遇到0,判断是否处于记录的值的中间,是,则是内陆,面积加1,否则不加。*/

    #include <stdio.h>
    int L[110][110];
    int R[110][110];
    int U[110][110];
    int D[110][110];
    int mat[110][110];
    
    int main() {
        int n, i, j, ans = 0;
        int flag = 0;
    //    freopen("A.txt", "r", stdin);
        scanf("%d", &n);
        for(i = 0; i < n; i++) {
            for(j = 0; j < n; j++) {
                scanf("%d", &mat[i][j]);
            }
        }
        //L
        for(i = 0; i < n; i++) {
            flag = 0;
            for(j = 0; j < n; j++) {
                if(mat[i][j] == 1) flag = 1;
                if(flag) L[i][j] = 1;
                else L[i][j] = 0;
            }
        }
        //R
        for(i = 0; i < n; i++) {
            flag = 0;
            for(j = n-1; j >= 0; j--) {
                if(mat[i][j] == 1) flag = 1;
                if(flag) R[i][j] = 1;
                else R[i][j] = 0;
            }
        }
        //U
        for(j = 0; j < n; j++) {
            flag = 0;
            for(i = 0; i < n; i++) {
                if(mat[i][j] == 1) flag = 1;
                if(flag) U[i][j] = 1;
                else U[i][j] = 0;
            }
        }
        //D
        for(j = 0; j < n; j++) {
            flag = 0;
            for(i = n-1; i >= 0; i--) {
                if(mat[i][j] == 1) flag = 1;
                if(flag) D[i][j] = 1;
                else D[i][j] = 0;
            }
        }
        for(i = 0; i < n; i++) {
            for(j = 0; j < n; j++) {
             printf("%d ",L[i][j]); 
            
            }
        }
        for(i = 0; i < n; i++) {
            for(j = 0; j < n; j++) {
                if(L[i][j] && R[i][j] && U[i][j] && D[i][j] && mat[i][j] == 0) ans++;
            }
        }
        printf("%d
    ", ans);
        return 0;
    }
  • 相关阅读:
    mybatis的分页插件pagehelper的使用
    SSM框架中添加事务
    junit测试,spring中使用
    maven的聚合和继承,maven的依赖
    shiro的角色和权限
    tomcat配置虚拟文件路径
    通过HttpServletRequest的request获取各种路径
    shiro学习一
    JDBC
    GUI
  • 原文地址:https://www.cnblogs.com/Xilian/p/3826426.html
Copyright © 2011-2022 走看看