#P16566. [Bapc2019]Conveyor Belts
[Bapc2019]Conveyor Belts
题目描述
你是 Boxing And Processing Company 的一名员工,负责在公司巨大的仓库中分配箱子。在 BAPC Ltd.,箱子通过传送带运输。
两条传送带可以合并为一条:让其中一条传送带上的箱子落到另一条传送带上即可。另一方面,一条传送带也可以通过一个分流器拆分成两条。分流器会把输入箱子中的一部分送往第一个输出端,其余箱子送往第二个输出端。
正常情况下,分流器可以调节成任意比例。然而,为了节省成本,你的老板购买了一批只能按照固定比例 分流的廉价分流器。你真正需要的却是一个比例为 的分流器,于是决定使用这些廉价分流器自行搭建一个系统。
一个比例为 的分流器,会把输入箱子的
送往第一个输出端,并把
送往第二个输出端。
请构造一个由至多 个比例为 的分流器组成的传送带网络。该网络应当只有一条全局输入传送带和两条全局输出传送带,并使两条全局输出收到的箱子总量之比恰好为 。
构造还必须满足以下要求:
- 每个分流器都必须实际收到正数量的箱子;
- 箱子不能永远停留在系统中,所有箱子最终都必须从某个全局输出端离开;
- 使用的分流器数量不能超过 。
网络中允许出现环,也允许多条输出传送带汇入同一个分流器,只要上述条件始终成立。
输入格式
第一行包含两个整数 :
表示现有分流器的固定比例为 。
第二行包含两个整数 :
表示希望构造出的全局分流比例为 。
输出格式
第一行输出一个整数 :
表示使用的分流器数量。
接下来输出 行。第 行(分流器从 开始编号)包含两个整数 :
其中:
- 表示分流器 的第一个输出端连接到哪里,该输出端接收输入量的 ;
- 表示分流器 的第二个输出端连接到哪里,该输出端接收输入量的 ;
- 非负整数 表示连接到编号为 的分流器;
- 特殊值 表示连接到第一条全局输出传送带;
- 特殊值 表示连接到第二条全局输出传送带。
全局输入传送带连接到分流器 。
第一条和第二条全局输出传送带最终应分别收到总输入量的
如果存在多种合法构造,输出任意一种即可。
样例 1
输入
2 3
3 2
输出
1
-2 -1
样例 2
输入
1 2
3 4
输出
3
-1 1
2 1
0 -2
样例 3
输入
1 2
1 2
输出
3
-2 1
2 0
1 -1