zoukankan      html  css  js  c++  java
  • OpenJudge计算概论-寻找山顶

    /*=====================================
    寻找山顶
    总时间限制: 1000ms 内存限制: 65536kB
    描述
    在一个m×n的山地上,已知每个地块的平均高程,请求出所有山顶所在的地块(所谓山顶,就是其地块平均高程不比其上下左右相邻的四个地块每个地块的平均高程小的地方)。
    输入
    第一行是两个整数,表示山地的长m(5≤m≤20)和宽n(5≤n≤20)。
    其后m行为一个m×n的整数矩阵,表示每个地块的平均高程。每行的整数间用一个空格分隔。
    输出
    输出所有上顶所在地块的位置。每行一个。按先m值从小到大,再n值从小到大的顺序输出。
    样例输入
    10 5
    0 76 81 34 66
    1 13 58 4 40
    5 24 17 6 65
    13 13 76 3 20
    8 36 12 60 37
    42 53 87 10 65
    42 25 47 41 33
    71 69 94 24 12
    92 11 71 3 82
    91 90 20 95 44
    样例输出
    0 2
    0 4
    2 1
    2 4
    3 0
    3 2
    4 3
    5 2
    5 4
    7 2
    8 0
    8 4
    9 3

    解析:输入二维数组,二重循环检测每一个元素,假如是山顶则输出其坐标。 ======================================
    */
     1 #include<stdio.h>
     2 int main()
     3 {
     4     int m,n,i,j;
     5     int a[22][22];
     6     int flag;
     7     int x,y;
     8     freopen("5.in","r",stdin);
     9     freopen("resullt.out","w",stdout);
    10     scanf("%d%d",&m,&n);
    11     for(i=0;i<m;i++)
    12     {
    13         for(j=0;j<n;j++)
    14         {
    15             scanf("%d",&a[i][j]);
    16         }
    17     }
    18     for(i=0;i<m;i++)
    19     {
    20         for(j=0;j<n;j++)
    21         {
    22             flag=1;
    23             
    24             x=i-1;
    25             y=j;
    26             if(flag==1&&x>=0)
    27             {
    28                 if(a[i][j]<a[x][y])
    29                 {
    30                     flag=0;
    31                 }
    32             }
    33             x=i;
    34             y=j+1;
    35             if(flag==1&&y<n)
    36             {
    37                 if(a[i][j]<a[x][y])
    38                 {
    39                     flag=0;
    40                 }
    41             }
    42             x=i;
    43             y=j-1;
    44             if(flag==1&&y>=0)
    45             {
    46                 if(a[i][j]<a[x][y])
    47                 {
    48                     flag=0;
    49                 }
    50             }
    51             x=i+1;
    52             y=j;
    53             if(flag==1&&x<m)
    54             {
    55                 if(a[i][j]<a[x][y])
    56                 {
    57                     flag=0;
    58                 }
    59             }
    60             if(flag)//flag==1
    61             {
    62                 printf("%d %d
    ",i,j);
    63             }
    64         }
    65     }
    66     return 0;
    67 }
  • 相关阅读:
    Windows:C:WindowsSystem32driversetchosts
    Quartz:Cron Expressions
    RabbitMQ:基本命令
    架构:一致性
    Javascript:自己写异步流程编程框架
    Python:Hello World级别的SimpleDb
    架构:互联网架构
    数据访问:三大范式
    数据访问:Implementing Efficient Transactions
    技术人生:special considerations that are very important
  • 原文地址:https://www.cnblogs.com/huashanqingzhu/p/3485382.html
Copyright © 2011-2022 走看看