#P17482. PM7636平衡板博弈

PM7636平衡板博弈

题目描述

一块水平木板放在一根细柱上,木板中心恰好位于支点。木板上放有 nn 个物体,第 ii 个物体的位置为 (xi,yi)(x_i,y_i),重量为 wiw_i

物体对木板产生的力矩向量为 (yiwi, xiwi)(-y_iw_i,\ x_iw_i)。当前仍在木板上的所有物体的力矩向量之和记为 (Tx,Ty)(T_x,T_y)。当且仅当

Tx2+Ty2threshold2T_x^2+T_y^2\le threshold^2

时,木板仍能保持平衡。

两名玩家轮流从木板上移走一个物体,先手先行动。如果某次移走物体后木板失去平衡,则刚刚进行这次操作的玩家立即失败。如果所有物体都被安全移走,则先手失败

假设双方都采用最优策略。请找出先手第一步移走哪些物体可以保证获胜。物体按输入顺序从 00 开始编号。

如果初始状态已经不平衡,则木板会在任何人行动之前掉落,此时按规定输出 -1

输入格式

第一行输入两个整数 n,thresholdn,threshold

接下来 nn 行,第 ii 行输入三个整数 xi,yi,wix_i,y_i,w_i

输出格式

第一行输出一个整数 kk,表示答案数组的长度。

k>0k>0,第二行按升序输出这 kk 个整数。

  • 若初始状态不平衡,输出长度为 11 的数组 -1
  • 若初始状态平衡但先手没有必胜的第一步,输出 k=0k=0

数据范围

  • 1n201\le n\le 20
  • 100xi,yi100-100\le x_i,y_i\le 100
  • 1wi1001\le w_i\le 100
  • 0threshold1090\le threshold\le 10^9
  • 不会有两个物体位于完全相同的位置。

样例

输入

3 1
-10 0 5
0 0 5
10 0 5

输出

1
1