题目背景
我的心脏还在跳动着啊。
题目描述
给定 n 个三元组 (ai,bi,ci)。q 次询问,每次给定一个集合 S,查询是否存在实数三元组 (p,q,r) 满足:对于所有满足 pai+qbi+r>0 的 i,其 ci 构成的集合恰好为 S。
输入格式
第一行输入一个整数 T,代表数据组数。
对于每组数据,第一行输入三个数 n,q,k,其中 k=∣S∣。
接下来 n 行,每行输入三个整数 ai,bi,ci。
接下来 q 行,第 i 行输入 k 个整数 si,1,si,2,…,si,k,代表第 i 组询问中 S 的元素。保证元素不重复。
输出格式
对于每组数据,输出一行一个长为 q 的字符串 R,对于第 i 组询问,若答案为存在,则 Ri 为 1,否则为 0。
3
5 2 1
3 0 1
-2 2 2
1 -3 3
-2 -1 4
0 0 5
2
5
5 4 2
3 0 1
-2 2 2
1 -3 3
-2 -1 4
0 0 5
2 3
2 4
5 1
3 5
5 6 3
3 0 1
-2 2 2
1 -3 3
-2 -1 4
0 0 5
3 5 4
2 5 3
4 2 1
2 4 3
3 1 2
3 1 4
10
0110
100101
提示
数据规模与约定
对于所有数据,1≤n,∑n≤105,1≤q,∑q≤3×105,1≤k≤3,1≤ci,si,j≤n,∣ai∣,∣bi∣≤109。
对于任意 i=j,保证 (ai,bi)=(aj,bj),且不存在 (p,q) 和三个不同的下标 i,j,k 满足 pai+qbi=paj+qbj=pak+qbk。
子任务
# |
特殊性质 |
分值 |
0 |
样例 |
0 |
1 |
n≤3 |
2 |
2 |
k=1 |
11 |
3 |
∑n2≤106 |
23 |
4 |
k=2 |
29 |
5 |
k=3 |
35 |