#lg10460. *【二分|位运算】找有奇数个小球的位置[防线]

*【二分|位运算】找有奇数个小球的位置[防线]

0x00基本算法(练习)5:防线

P10460 防线

题目描述

在数轴放置 NN 次小球。

每次放置用三个整数 Si Ei DiS_i \ E_i \ D_i 描述 ,表示以下位置各放一个小球: Si, Si+Di, Si+2Di, , Si+KDiS_i,\ S_i+D_i,\ S_i+2D_i,\ \dots,\ S_i + KD_i

(KZSi+KDE<S+(K+1)D)(K \in Z,S_i + KD \leq E < S+ (K+1)D)

保证数轴上 至多只有一个位置 放置了 奇数 个小球。

输入格式

第一行一个整数 TT,表示有 TT 组互相独立的测试数据。

每组数据的第一行是一个整数 NN

之后 NN 行,每行三个整数 SiS_iEiE_iDiD_i

输出格式

对于每组测试数据: 如果没有位置有奇数个小球,输出一行 There's no weakness.

否则在一行内输出两个空格分隔的整数 PPCC,表示在位置 PPCC 个小球。当然 CC 应该是一个奇数。

输入输出样例 #1

输入 #1

3
2
1 10 1 
2 10 1 
2
1 10 1 
1 10 1 
4
1 10 1 
4 4 1 
1 5 1 
6 10 1

输出 #1

1 1
There's no weakness. 
4 3

说明/提示

对于 30%30\% 的数据,满足小球总数不多于 10710 ^ {7}

对于 100%100\% 的数据,满足小球总数不多于 10810 ^ {8}SiEiS_{i}\le E_{i} 1T51\le T \le 5N200000N \le 2000000Si0 \le S_{i}EiE_{i}Di2311D_{i} \le 2^{31} - 1