A4619 | 分配水源
时间限制1s
内存限制128MB
通过 / 提交0/0
题目描述
在一个宁静的小村庄里,村民们依赖一口古老的水井来获取生活所需的水。随着时间的推移,村民们逐渐意识到,他们需要准确地测量水的剂量,以确保每家每户都能公平地分配水源。村庄中有许多无规则、只确定其总容量的容器。
有一天,村庄里的一位智者提出了一个挑战:每次只允许使用指定的两个容器进行称量,能否精确测量出每个家庭所需的水量。(容器间转换产生的误差忽略不计)
村民们集结在一起,开始思考这个问题,期盼能找到一种方法,让每个家庭都能得到他们需要的水,而不浪费一滴。
有一天,村庄里的一位智者提出了一个挑战:每次只允许使用指定的两个容器进行称量,能否精确测量出每个家庭所需的水量。(容器间转换产生的误差忽略不计)
村民们集结在一起,开始思考这个问题,期盼能找到一种方法,让每个家庭都能得到他们需要的水,而不浪费一滴。
输入格式
第一行包含一个整数 $n$,表示需要测量的家庭数量。
接下来 $n$ 行,每行输入三个正整数 $A, B, C$ 。$A$ 和 $B$ 分别表示指定的两个容器的总容量(mL),$C$ 表示当前家庭分配的剂量(mL)。
接下来 $n$ 行,每行输入三个正整数 $A, B, C$ 。$A$ 和 $B$ 分别表示指定的两个容器的总容量(mL),$C$ 表示当前家庭分配的剂量(mL)。
输出格式
输出共 $n$ 行,分别表示每次称重的结果,
称重重量等于两个容器中剂量的总和
YES 表示可以,NO 表示不可以。称重重量等于两个容器中剂量的总和
输入输出样例
输入 #1
10 40 20 20 40 10 30 40 20 10 40 38 30 73 69 45 73 69 44 73 69 43 73 69 42 73 69 41 100 100 200
输出 #1
YES YES NO YES YES YES YES YES YES YES
##### 样例 1 解释
对于40 20 20: 只需要 A 装满 40,倒入空的 B,B 会装满 20,而 A 剩余 20,可行;
对于40 10 30: 同上分析,可行;
对于40 20 10: 同上分析,只能得到 40 和 20,无法得到 10 和 30,不可行;
对于40 38 30: 装满 A 倒入空 B,B 满 38 而 A 剩下 2; 倒出 B 内所有试剂,然后 A 倒入,此时 A 为 0 而 B 为 2; 装满 A 倒入 B,因为原 B 有 2,只能倒入 36,A 会剩下 4。依次类推,下次会 A 剩下 6,再下次剩下 8,总会得到 30 的。可行
##### 数据规模与约定
对于其中 $15\%$ 的数据,$n \le 10, 1 \le A,B,C \le 10^3$。
对于其中 $40\%$ 的数据,$n \le 10^2, 1 \le A,B,C \le 10^5$。
对于 $100\%$ 的数据,$1 \le n \le 10^5, 1 \le A,B,C \le 2 \times 10^9$。
对于40 20 20: 只需要 A 装满 40,倒入空的 B,B 会装满 20,而 A 剩余 20,可行;
对于40 10 30: 同上分析,可行;
对于40 20 10: 同上分析,只能得到 40 和 20,无法得到 10 和 30,不可行;
对于40 38 30: 装满 A 倒入空 B,B 满 38 而 A 剩下 2; 倒出 B 内所有试剂,然后 A 倒入,此时 A 为 0 而 B 为 2; 装满 A 倒入 B,因为原 B 有 2,只能倒入 36,A 会剩下 4。依次类推,下次会 A 剩下 6,再下次剩下 8,总会得到 30 的。可行
##### 数据规模与约定
对于其中 $15\%$ 的数据,$n \le 10, 1 \le A,B,C \le 10^3$。
对于其中 $40\%$ 的数据,$n \le 10^2, 1 \le A,B,C \le 10^5$。
对于 $100\%$ 的数据,$1 \le n \le 10^5, 1 \le A,B,C \le 2 \times 10^9$。
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?