CSP:跳一跳
满分代码
#include <iostream>
using namespace std;
int a[30];
int main()
{
int x;
int ans = 0;
int pre = 0;
do {
cin >> x;
if (x == 1) {
ans += 1;
pre = 1;
}
else if (x == 2) {
if (pre < 2) { // 第一次跳或者前一次为1
ans += 2;
pre = 2;
}
else { // 前一次为2
ans += pre + 2;
pre += 2;
}
}
} while(x != 0);
cout << ans << endl;
return 0;
}
该博客主要介绍了一个CSP(Chinese Spelling Practice)题目——跳一跳,通过一段C++代码展示了如何解决这个问题。代码中根据输入的数字判断跳跃方式,计算最小步数。当输入为1时,前进1步;输入为2时,如果前一次不是2,则前进2步,否则前进前一次步数加2。博客着重于理解和应用简单的逻辑判断进行问题求解。
197

被折叠的 条评论
为什么被折叠?



