A8976 | Balance
时间限制1s
内存限制256MB
通过 / 提交0/0
题目描述
A system of $n$ vessels with water is given. Several pairs of vessels are connected by tubes with transfusion mechanisms. One may transfer an integer amount of liters of water between two vessels connected by such tube (tube works in both directions). There might be multiple tubes between two vessels. Total number of tubes equals $e$ . Volume of each vessel equals $v$ liters. Of course, the amount of the water in any vessel cannot exceed $v$ liters in the process of transfusions.
Given the initial amounts $a_{i}$ of water in the vessels and the desired amounts $b_{i}$ find a sequence of transfusions that deals with the task. Total number of transfusions must not exceed $2·n^{2}$ .
Given the initial amounts $a_{i}$ of water in the vessels and the desired amounts $b_{i}$ find a sequence of transfusions that deals with the task. Total number of transfusions must not exceed $2·n^{2}$ .
输入格式
First line of the input contains integers $n$ , $v$ , $e$ ( $1<=n<=300$ , $1<=v<=10^{9}$ , $0<=e<=50000$ ).
Next two lines contain $n$ integers each: initial $a_{i}$ and the desired amounts $b_{i}$ of water in corresponding vessels ( $0<=a_{i},b_{i}<=v$ ).
Next $e$ lines describe one tube each in the format $x$ $y$ ( $1<=x,y<=n,x≠y$ ) for a tube between vessels number $x$ and $y$ . There might be multiple tubes between two vessels. You may assume that vessels are numbered from 1 to $n$ in some way.
Next two lines contain $n$ integers each: initial $a_{i}$ and the desired amounts $b_{i}$ of water in corresponding vessels ( $0<=a_{i},b_{i}<=v$ ).
Next $e$ lines describe one tube each in the format $x$ $y$ ( $1<=x,y<=n,x≠y$ ) for a tube between vessels number $x$ and $y$ . There might be multiple tubes between two vessels. You may assume that vessels are numbered from 1 to $n$ in some way.
输出格式
Print "NO" (without quotes), if such sequence of transfusions does not exist.
Otherwise print any suitable sequence in the following format. On the first line print the total number of transfusions $k$ ( $k$ should not exceed $2·n^{2}$ ). In the following $k$ lines print transfusions in the format $x$ $y$ $d$ (transfusion of $d$ liters from the vessel number $x$ to the vessel number $y$ , $x$ and $y$ must be distinct). For all transfusions $d$ must be a non-negative integer.
Otherwise print any suitable sequence in the following format. On the first line print the total number of transfusions $k$ ( $k$ should not exceed $2·n^{2}$ ). In the following $k$ lines print transfusions in the format $x$ $y$ $d$ (transfusion of $d$ liters from the vessel number $x$ to the vessel number $y$ , $x$ and $y$ must be distinct). For all transfusions $d$ must be a non-negative integer.
输入输出样例
输入 #1
2 10 1 1 9 5 5 1 2
输出 #1
1 2 1 4
输入 #2
2 10 0 5 2 4 2
输出 #2
NO
输入 #3
2 10 0 4 2 4 2
输出 #3
0
暂无题解
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?
提交通过
评测结果:Accepted