P0815

[JSOI2007]合金

[JSOI2007]合金

某公司加工一种由铁、铝、锡组成的合金。公司首先进口若干种铁铝锡合金原材料,不同种类的原材料中,铁、铝、锡所占的比重可能不同。加工时,从每种原材料中取出一定量,熔化并混合,从而得到具有指定比重的新合金。

现在,用户给出了 nn 种所需合金,以及每种合金中铁、铝、锡所占的比重。公司希望订购尽可能少的原材料种类,并使用这些原材料加工出用户需要的所有合金。

请计算最少需要订购多少种原材料。如果无法加工出所有用户需要的合金,则输出 −1-1。

输入格式

第一行包含两个整数 mm 和 nn,分别表示原材料的种数和用户需要的合金种数。

接下来 mm 行,每行包含三个实数 a,b,ca,b,c,分别表示铁、铝、锡在一种原材料中所占的比重。

再接下来 nn 行,每行包含三个实数 a,b,ca,b,c,分别表示铁、铝、锡在一种用户需要的合金中所占的比重。

输入中的所有实数均使用普通十进制表示法,不使用科学计数法,小数点后不超过 99 位。

输出格式

输出一个整数,表示最少需要订购的原材料种数。若无解,则输出 −1-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

数据范围

  • 1≤m,n≤5001\le m,n\le 500;
  • 对于每种原材料和用户需要的合金,均满足 a,b,c≥0a,b,c\ge 0 且 a+b+c=1a+b+c=1;
  • 输入中的实数小数点后不超过 99 位。

来源与许可

本题为 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