• 十六:矩阵数字求和


    问题 : 矩阵数字求和
    题目描述

    给定一个数字矩阵,数字中间用空格分开。 
    求:行,列,45°斜线(不一定是对角线) 中,和最大的是多少 
    输出:这个最大的和. 
    比如矩阵 
    9 8 2 2 
    2 4 1 5 
    1 5 1 2 
    1 15 6 3 
    2 1 56 3 
    中,和最大的是 1 15 56 这个斜线。需要输出:72
    输入
    第一行两个数,表示矩阵的行、列。行列的数字均小于10
    之后是矩阵
    输出
    一个数字,即最大的和是多少
    样例输入
    5 4
    9 8 2 2
    2 4 1 5
    1 5 1 2
    1 15 6 3
    2 1 56 3
    样例输出

    72

     1 #include<stdio.h>
     2 #include<string.h>
     3 int main(){
     4     freopen("in.txt", "r", stdin);
     5     freopen("out.txt", "w", stdout);
     6     int a[11][11];
     7     int row,col;
     8     int i,j,m=0,sum=0,b=0;
     9     scanf("%d %d",&row,&col);
    10     for(i=0;i<row;i++){
    11         for(j=0;j<col;j++){
    12             scanf("%d",&a[i][j]);
    13         }
    14     }
    15     for(i=0;i<row;i++){
    16         for(j=0;j<col;j++){
    17                 sum=0;
    18                 b=0;
    19                 while(i+b<row){
    20                 sum+=a[i+b][j];
    21                 b++;
    22             }
    23             if(sum>m){
    24                 m=sum;
    25             }
    26                 sum=0;
    27                 b=0;
    28                 while(j+b<col){
    29                 sum+=a[i][j+b];
    30                 b++;
    31             }
    32             if(sum>m){
    33                 m=sum;
    34             }
    35             sum=0;
    36             b=0;
    37             while(i+b<row&&j+b<col){
    38                 sum+=a[i+b][j+b];
    39                 b++;
    40             }
    41             if(sum>m){
    42                 m=sum;
    43             }
    44             b=0;
    45             sum=0;
    46             while(i-b>=0&&j+b<col){
    47                 sum+=a[i-b][j+b];
    48                 b++;
    49             }
    50             if(sum>m){
    51                 m=sum;
    52             }
    53             
    54         }
    55     }
    56     printf("%d",m);
    57     fclose(stdin);
    58     fclose(stdout);
    59     return 0;
    60 }
  • 相关阅读:
    熟悉常用的Linux操作
    Hadoop综合大作业
    理解MapReduce
    熟悉常用的Hbase操作
    第三章 熟悉常用的HDFS操作
    爬虫大作业
    数据结构化与保存
    爬取校园新闻首页的新闻
    网络爬虫基础练习
    综合练习:词频统计
  • 原文地址:https://www.cnblogs.com/yuming226/p/8146437.html
Copyright © 2020-2023  润新知