目前共有2篇帖子。 內容轉換:不轉換▼
 
點擊 回復
236 1
【试题】算法训练 数字三角形
一派護法 十九級
1樓 發表于:2016-4-24 20:36
【得分57】
#include <stdio.h>
#include <stdlib.h>

int n;
int max = 0;
int **tree;

void find(int x, int y, int last)
{
    if (y > x)
        return;
    last += tree[x][y];
    if (x == n - 1)
    {
        if (max < last)
            max = last;
        return;
    }
    find(x + 1, y, last);
    find(x + 1, y + 1, last);
}

int main()
{
    int i, j;
    scanf("%d", &n);
    tree = (int **)malloc(n * sizeof(int **));
    *tree = (int *)malloc((n + 1) * n / 2 * sizeof(int *));
    for (i = 0; i < n; i++)
    {
        if (i > 0)
            tree[i] = tree[i - 1] + i;
        for (j = 0; j <= i; j++)
            scanf("%d", &tree[i][j]);
    }
   
    find(0, 0, 0);
    printf("%d\n", max);
   
    free(*tree);
    free(tree);
    return 0;
}
一派護法 十九級
2樓 發表于:2016-4-24 20:37
评测结果  运行超时   得分  57  
CPU使用  运行超时  
内存使用  1.636MB  

回復帖子

內容:
用戶名: 您目前是匿名發表
驗證碼:
(快捷鍵:Ctrl+Enter)
 

本帖信息

點擊數:236 回複數:1
評論數: ?
作者:巨大八爪鱼
最後回復:巨大八爪鱼
最後回復時間:2016-4-24 20:37
 
©2010-2024 Arslanbar Ver2.0
除非另有聲明,本站採用創用CC姓名標示-相同方式分享 3.0 Unported許可協議進行許可。