[JSOI2007]合金
某公司加工一种由铁、铝、锡组成的合金。公司首先进口若干种铁铝锡合金原材料,不同种类的原材料中,铁、铝、锡所占的比重可能不同。加工时,从每种原材料中取出一定量,熔化并混合,从而得到具有指定比重的新合金。
现在,用户给出了 种所需合金,以及每种合金中铁、铝、锡所占的比重。公司希望订购尽可能少的原材料种类,并使用这些原材料加工出用户需要的所有合金。
请计算最少需要订购多少种原材料。如果无法加工出所有用户需要的合金,则输出 。
输入格式
第一行包含两个整数 和 ,分别表示原材料的种数和用户需要的合金种数。
接下来 行,每行包含三个实数 ,分别表示铁、铝、锡在一种原材料中所占的比重。
再接下来 行,每行包含三个实数 ,分别表示铁、铝、锡在一种用户需要的合金中所占的比重。
输入中的所有实数均使用普通十进制表示法,不使用科学计数法,小数点后不超过 位。
输出格式
输出一个整数,表示最少需要订购的原材料种数。若无解,则输出 。
样例输入
10 10
0.1 0.2 0.7
0.2 0.3 0.5
0.3 0.4 0.3
0.4 0.5 0.1
0.5 0.1 0.4
0.6 0.2 0.2
0.7 0.3 0
0.8 0.1 0.1
0.9 0.1 0
1 0 0
0.1 0.2 0.7
0.2 0.3 0.5
0.3 0.4 0.3
0.4 0.5 0.1
0.5 0.1 0.4
0.6 0.2 0.2
0.7 0.3 0
0.8 0.1 0.1
0.9 0.1 0
1 0 0
样例输出
5
数据范围
- ;
- 对于每种原材料和用户需要的合金,均满足 且 ;
- 输入中的实数小数点后不超过 位。
来源与许可
本题为 JSOI 2007 试题「合金」,题面与测试数据整理自 BZOJ。
样例 1
输入
10 10
0.1 0.2 0.7
0.2 0.3 0.5
0.3 0.4 0.3
0.4 0.5 0.1
0.5 0.1 0.4
0.6 0.2 0.2
0.7 0.3 0
0.8 0.1 0.1
0.9 0.1 0
1 0 0
0.1 0.2 0.7
0.2 0.3 0.5
0.3 0.4 0.3
0.4 0.5 0.1
0.5 0.1 0.4
0.6 0.2 0.2
0.7 0.3 0
0.8 0.1 0.1
0.9 0.1 0
1 0 0
输出
5