1 条题解
-
0
这是一个典型的模拟问题,我们需要严格按照题目描述的操作规则模拟K次操作过程。
-
初始化两个杯子的水量为0
-
循环K次,每次根据当前状态执行相应的操作:
-
检查玻璃杯是否已满,如果是则清空
-
否则检查马克杯是否为空,如果是则注满
-
否则将马克杯的水倒入玻璃杯(注意倒水量的计算)
#include <iostream> using namespace std; int main() { int K, G, M; cin >> K >> G >> M; int glass = 0; int mug = 0; for (int i = 0; i < K; i++) { if (glass == G) { glass = 0; } else if (mug == 0) { mug = M; } else { if (mug <= G - glass) { glass += mug; mug = 0; } else { glass = G; mug -= G - glass; } } } cout << glass << " " << mug << endl; return 0; }
-
- 1
信息
- ID
- 2728
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 10
- 标签
- (无)
- 递交数
- 1
- 已通过
- 1
- 上传者