1 条题解
-
1
虽然标签上有递归,
但是数据比较水所以可以直接冲过去。因为我还是用了 函数,所以还是按照函数顺序讲解:
一:
void dri我们把 dri 看成 drink 的简写就很好理解了,先让答案加上现在喝掉的汽水的数量,再让空瓶子的数量与其相等,最后让可以喝的汽水数量归零。
二:
void exc同上, exc = exchange。把现在可以换的空罐两两一组换成汽水,单个的留下。
主函数:
依题意输入 , 满罐汽水()等于中间量 , 在 不为零时循环执行 与 ,输出答案。
上代码:
#include<bits/stdc++.h> #define ll long long using namespace std; int n, m, bo; int ful = 0, emp = 0; int ans = 0; void dri() { ans += ful; emp += ful; ful = 0; } void exc() { while (emp >= 2) { emp -= 2; ful++; } } signed main() { cin.tie(nullptr)->ios::sync_with_stdio(false); cin >> n >> m; bo = (m / n); ful = bo; while (ful) { dri(); exc(); } cout << ans << '\n'; //by hina. }
- 1
信息
- ID
- 70
- 时间
- 1000ms
- 内存
- 16MiB
- 难度
- 2
- 标签
- 递交数
- 36
- 已通过
- 16
- 上传者