A1743 | 倒水问题
时间限制1s
内存限制128MB
通过 / 提交0/0
题目描述
给你两个容量为 $n$ 和 $m$ 的水桶和无限多的水,两个桶初始为空,现在需要盛出容量为 $k$ 的水,由于水桶没有刻度,你只能进行如下几种操作
1.
2.
3.
问最少需要的操作次数及操作过程。请严格按照以下顺序进行广搜。
```
FILL(1)
FILL(2)
DROP(1)
DROP(2)
POUR(1,2)
POUR(2,1)
```
##
1.
FILL x 表示将第 $x$ 个水桶装满,$x$ 为 $1$ 或 $2$2.
DROP x 表示将第 $x$ 个水桶清空,$x$ 为 $1$ 或 $2$3.
POUR x y 表示将第 $x$ 个桶的水全部倒入 $y$ 桶,$x$ 空了或 $y$ 满了停止,$x,y$ 为 $1$ 或 $2$问最少需要的操作次数及操作过程。请严格按照以下顺序进行广搜。
```
FILL(1)
FILL(2)
DROP(1)
DROP(2)
POUR(1,2)
POUR(2,1)
```
##
输入格式
一行三个整数 $n,m,k(1 \leq n,m,k \leq 100)$。
输出格式
第一行一个整数 $x$ 表示最少操作次数。
接下来 $n$ 行,每行一个操作,若无法做到输出
接下来 $n$ 行,每行一个操作,若无法做到输出
impossible 。输入输出样例
输入 #1
3 5 4
输出 #1
6 FILL(2) POUR(2,1) DROP(1) POUR(2,1) FILL(2) POUR(2,1)
暂无题解
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?