社区讨论
这题我会,其实没那么难,不知道为啥大家的做法那么麻烦……
P1150Peter 的烟参与者 12已保存回复 14
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 14 条
- 当前快照
- 1 份
- 快照标识符
- @lock2w75
- 此快照首次捕获于
- 2023/10/30 15:05 2 年前
- 此快照最后确认于
- 2023/11/05 02:20 2 年前
PASCAL
#include <bits/stdc++.h>
using namespace std;
int n, k; // 记得定义变量哦
int sp, ans, cnt;
// cnt表示现有的烟数量,sp表示烟蒂的数量,ans表示已经抽了多少根烟
int main() {
// freopen(".in", "r", stdin);
// freopen(".out", "w", stdout);
cin >> n >> k; // 输入数据
cnt = n; // 赋初始值,一开始有 n 根烟
while (cnt != 0) { // while 循环记得加大括号
cnt--, sp++, ans++; // 抽 1 根烟,多 1 个烟蒂,答案加 1
if (sp == k) {
sp = 0, cnt++; // 把 k 个烟蒂兑换成 1 根烟
}
}
cout << ans << endl; // 输出答案
// fclose(stdin);
// fclose(stdout);
return 0;
}
直接模拟就可以了,注释写的很详细~
回复
共 14 条回复,欢迎继续交流。
正在加载回复...