力的平衡

PDF 视图

提交程序

分数: 1
时间限制: 1.0s
内存限制: 64M

作者:
题目类型

题目描述

在物理实验室中,Alice 正在研究力的平衡问题。

实验室配备了 \(k\) 种力发生器,第 \(i\) 种发生器可以产生力向量 \((F_{x_i},F_{y_i})\) 牛顿。其中,正值表示向右/向上的力,负值表示向左/向下的力。

为了达到完美的力学平衡状态,Alice 需要选择若干个力发生器(每种可以使用任意多次),使得所有力的合力恰好为零向量 \((0,0)\)。

由于实验经费有限,每次启动力发生器都需要消耗电能。Alice 希望启动力发生器的次数尽量少来达到平衡。

注意:Alice 必须至少启动一次力发生器,即答案至少为 \(1\)。

请帮助 Alice 计算最少需要启动多少次力发生器。如果无论如何都无法达到平衡,输出 \(-1\)。

输入格式

第一行一个整数 \(t\),表示测试数据的组数。

对于每组测试数据:

  • 第一行一个整数 \(k\),表示力发生器的种类数。
  • 接下来 \(k\) 行,每行两个整数 \(F_{x_i}, F_{y_i}\),表示第 \(i\) 种力发生器产生的力向量。

对于所有测试数据:

  • \(1 \le t \le 10\)
  • \(1 \le k \le 500\)
  • \(-100 \le F_{x_i}, F_{y_i} \le 100\)
  • 保证 \(\sum k \le 1000\)

输出格式

对于每组测试数据,输出一行一个整数,表示最少需要启动的力发生器次数。如果无法达到平衡,输出 \(-1\)。

样例输入

5
3
1 0
0 1
-1 -1
2
1 2
2 4
2
1 1
-2 -2
3
2 3
-1 4
3 -7
1
0 0

样例输出

3
-1
3
-1
1

评论

目前没有评论。