#P6472. [COCI2008-2009#6] SLICICE
[COCI2008-2009#6] SLICICE
题目背景
在一个城市里,有群孩子热衷于收集卡片。
题目描述
由于他们的零花钱不够,所以想出了一个办法:两人一组,每人出一半的钱,到商店购买两张卡片。紧接着,他们比赛谁先跑到市中心的喷泉,获胜者将得到这两张卡片。如果两人同时到达,那么每人将拿走一张。
有一天,所有的孩子聚集在了一起。他们想统计出所有的购买记录。但是孩子们的记忆有些模糊了,只记得一部分购买记录(且不知道谁得到了多少),并且数出了自己有多少张卡片。你需要编写一个程序,帮助孩子们还原一种可能的购买记录。
输入格式
输入第一行两个整数 ,表示孩子的数量和孩子们记忆中的购买记录。孩子从 编号。
第二行 个整数,表示每个孩子所拥有的卡片的数量。
接下来的 行,每行两个整数 ,表示编号分别为 的两个孩子一起去买了一次卡片。
输出格式
输出第一行一个整数 ,表示购买总数。
接下来的 行,每行三个整数。前两个整数为一次购买中两个孩子的编号。第三个整数为前一个孩子在这次比赛中获得的卡片数()。
题目保证有解。购买的总数最多为 。如果有多种购买的方案,输出任意一种,本题使用 SPJ。
2 3
5 1
1 2
1 2
1 2
3
1 2 1
1 2 2
1 2 2
4 3
5 3 1 1
1 3
2 3
4 1
5
1 3 1
2 3 2
4 1 0
2 4 1
1 3 2
5 0
3 0 2 4 1
5
1 2 2
1 3 1
4 2 2
3 4 0
3 5 1
提示
数据规模与约定
对于 的数据,保证 ,。
说明
题目译自 COCI2008-2009 CONTEST #6 T6 SLICICE。