monzaid 2019-12-04 09:38
浏览 155

C语言寻找三维数组正切面最大和的值,上交Wrong Answer, 有题目和代码, 望大神指点

切面

Description

给出一个长方体,求该长方体每个正切面上的元素之和的最大值。

正切面的意思就是与长方体某一面平行的切面。如果把长方体看作是一个三维数组,那么每个切面就是一个二维数组。

Input

第一行是3个正整数a、b、c,分别表示长方体的长、宽、高。0 < a, b, c ≤ 60

接下来是 c 块数据,每一块数据有a行、每行b个整数。

Output

输出切面元素和的最大值。

Sample Input

3 3 3

1 2 3

1 2 3

1 2 3

1 2 3

1 2 3

1 2 3

1 2 3

1 2 3

1 2 3

Sample Output

27
我的代码

#include <stdio.h>
#include <stdlib.h>
int main (){
    //长a,宽b,高c
    int a, b, c;
    scanf("%d %d %d", &a, &b, &c);
    //定义动态内存
    int ***p = (int ***) malloc(sizeof(int **) * a);
    for (int i = 0; i < a; i++){
        p[i] = (int **) malloc(sizeof(int *) * b);
        for (int j = 0; j < b; j++)
            p[i][j] = (int *) malloc(sizeof(int) * c);
    }
    //读入数据
    for (int i = 0; i < a; i++)
        for (int j = 0; j < b; j++)
            for (int k = 0; k < c; k++)
                scanf("%d", &p[i][j][k]);
    int max;
    //找最大切面
    for (int i = 0; i < a; i++){
        int sum = 0;
        for (int j = 0; j < b; j++)
            for (int k = 0; k < c; k++)
                sum += p[i][j][k];
        if (i == 0)//当第一个切面时最大切面为第一个切面
            max = sum;
        else if (sum > max)
            max = sum;
    }
    for (int j = 0; j < b; j++){
        int sum = 0;
        for (int i = 0; i < a; i++)
            for (int k = 0; k < c; k++)
                sum += p[i][j][k];
        if (sum > max)
            max = sum;
    }
    for (int k = 0; k < c; k++){
        int sum = 0;
        for (int i = 0; i < a; i++)
            for (int j = 0; j < b; j++)
                sum += p[i][j][k];
        if (sum > max)
            max = sum;
    }
    printf("%d", max);
    //释放p
        for (int i = 0; i < a; i++){
            for (int j = 0; j < b; j++)
                free(p[i][j]);
            free(p[i]);
            }
            free(p);
    return 0;
}

测试用例

图片说明

但是上交的是返回

图片说明

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 聚类分析或者python进行数据分析
    • ¥15 逻辑谓词和消解原理的运用
    • ¥15 三菱伺服电机按启动按钮有使能但不动作
    • ¥15 js,页面2返回页面1时定位进入的设备
    • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
    • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
    • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
    • ¥20 腾讯企业邮箱邮件可以恢复么
    • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
    • ¥15 错误 LNK2001 无法解析的外部符号