using namespace std;
int main()
{
vector<int> v;v.push_back(0);
int t;
while(cin>>t)
{
v.push_back(t);
scanf("%*c");
}
int f[v.size()];
memset(f, 0, sizeof(f));
for(int i=3;i<=v.size()-1;i++)
f[i]=min(f[i-1]+v[i-1],f[i-2]+v[i-2]);
cout<<min(f[v.size()-1]+v.back(),f[v.size()-2]+v[v.size()-2])<<endl;
}
上面这种是不算本层的,所以最后要加上本层的做比较,下面再放一个带本层的,其实都一样。
``` js#include<bits/stdc++.h>
using namespace std;
int main()
{
vector<int> v;v.push_back(0);
int t;
while(cin>>t)
{
v.push_back(t);
scanf("%*c");
}
int f[v.size()];f[1]=v[1];f[2]=v[2];
for(int i=3;i<=v.size()-1;i++)
f[i]=min(f[i-1],f[i-2])+v[i];
cout<<min(f[v.size()-1],f[v.size()-2])<<endl;
}
```刚开始给vector放个0,放不放都行,不影响,就是记得1层和2层赋值的时候注意一下下标就行。