你正在玩一个游戏。游戏中有一排房屋,最开始的时候都是没有上锁的,每间房存有一定数量金币。 但是这些房子里装了联通装置,一旦拿取了某间房子的金币,相邻的两间房屋就会自动锁死,锁死的房间不能拿取金币。 你可以进行多次拿取金币的操作,求游戏结束后,最多能获得多少金币。 input: 2行 第1行1个整数n代表数组长度, 第2行n个正整数,代表每间房的现金数量,用空格隔开 (0
10条回答 默认 最新
关注 #include <stdio.h> #include <stdlib.h> int rob(int *nums, int numsSize) { if(numsSize == 0) { return 0; } else if(numsSize == 1) { return nums[0]; } else if(numsSize == 2) { return fmax(nums[0],nums[1]); } int dp1 = nums[0]; int dp2 = fmax(nums[0],nums[1]); int sum = 0; for(int i = 2;i < numsSize;i++) { sum = fmax(nums[i] + dp1,dp2); dp1 = dp2; dp2 = sum; } return sum; } int main() { int i,n,a[21]; scanf("%d",&n); for(i=0;i<n;i++){ scanf("%d",&a[i]); } printf("%d",rob(a,n)); return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥20 基于MSP430f5529的MPU6050驱动,求出欧拉角
- ¥20 Java-Oj-桌布的计算
- ¥15 powerbuilder中的datawindow数据整合到新的DataWindow
- ¥20 有人知道这种图怎么画吗?
- ¥15 pyqt6如何引用qrc文件加载里面的的资源
- ¥15 安卓JNI项目使用lua上的问题
- ¥20 RL+GNN解决人员排班问题时梯度消失
- ¥60 要数控稳压电源测试数据
- ¥15 能帮我写下这个编程吗
- ¥15 ikuai客户端l2tp协议链接报终止15信号和无法将p.p.p6转换为我的l2tp线路