gpt4 book ai didi

c - 一道算法作业题: Cells Matrix Scanning Problem

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:07:40 27 4
gpt4 key购买 nike

<分区>

说明:几个单元格依次排列成一条直线。在第 i 个单元格中,写入给定整数 ai (i=1,2, …, N)。我从左端的第一个单元格开始向右移动;我可以选择跳进下一个单元格,或者跳进下一个单元格的下一个。每次进入牢房i,我都要付钱 |艾 |美元,当 ai 为负时,或接收 ai 美元,当 ai 为非负时。我最多能赚多少钱?

输入:N, a1, a2, …., aN 的整数值,以空格分隔。

输出:一个整数等于想要的利润。

约束条件:0 < N < 100; -100 < ai < 每个 ai 100。

例如

输入:7 2 -1 3 –2 -1 6 -5

输出:10

我把解决方案弄得一团糟。如果有人有任何建议,我将非常感谢!

这是我到目前为止得到的:

#include <stdio.h>


int main()
{
int n,array[100];
int i = 0;
int sum = 0;


if(scanf("%d",&n)){};
for(i=0;i<n;i++){
if(scanf("%d",&array[i])){}
}

for(i=0;i<n;i++)
{
if(array[i] >= array[i+1])
{
if(array[i+1] >= array[i+2])
{
if(array[i+2] > array[i+3])
{
sum += array[i+1];
i++;
}
sum += array[i];
}
else if(array[i+1] < array[i+2])
{
if(array[i] >= array[i+2])
{
sum += array[i];
}
else if(array[i] < array[i+2])
{
sum += array[i+1];
i++;
}
}
}
else if(array[i] < array[i+1])
{
if(array[i+1] < array[i+2])
{
if(array[i] < array[i+2])
{
sum += array[i+1];
i++;
}
else if(array[i] >= array[i+2])
{
sum += array[i];
}
}
else if(array[i+1] >= array[i+2])
{
sum += array[i];
}
}
}

printf("%d", sum);

return 0;
}

在指令施加的约束下(可以跳到 i 和 i+1),数组中最大可能的数字总和是多少?

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com