Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
116530 吴悠 打家劫舍II C++ 通过 100 0 MS 268 KB 556 2023-12-17 11:26:01

Tests(4/4):


#include<iostream> using namespace std; long long n; long long num1[1001],num2[1001],dp1[1001],dp2[1001]; long long ans1(){ //偷第1个房子 dp1[1]=num1[1]; for(long long i=2;i<n;i++){ dp1[i]=max(dp1[i-1],dp1[i-2]+num1[i]); } return dp1[n-1]; } long long ans2(){ //不偷第1个房子 dp2[1]=0; for(long long i=2;i<=n;i++){ dp2[i]=max(dp2[i-1],dp2[i-2]+num2[i]); } return dp2[n]; } int main(){ cin>>n; for(long long i=1;i<=n;i++){ cin>>num1[i]; num2[i]=num1[i]; } cout<<max(ans1(),ans2())<<endl; return 0; }


测评信息: