测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A3021. PUN-Points

编程题 省选/NOI-
知识点

题目描述

题目描述:


给出一个包含平面上格点的集合(格点的定义是xy坐标均为整数),我们将其称作“模式集合”。


接下来给出另外的几个包含平面上点的集合。我们想要考察后面给出的哪些集合和“模式集合”是“相似”的,即:该集合可以通过 旋转,平移,翻转,和缩放 使得该集合和“模式集合”完全相同。


例:{(0,0),(2,0),(2,1)}这个集合和{(6,1),(6,5),(4,5)}这个集合是相似的,但和{(4,0),(6,0),(5,-1)}这个集合是不相似的。


任务:


写一个程序,使得


能从标准输入读取“模式集合”和需要考察(是否相似)的集合,判断哪些集合和“模式集合”相似,并将结果输出到标准输出

输入格式

标准输入的第一行有一个整数 k (1<=k<=25000),代表“模式集合”中的点数


接下来k行,每行两个数,用一个空格分隔,第i+1行的两个数分别代表“模式集合”中第i个点的x坐标和y坐标(-20000<=x,y<=20000)


“模式集合”中的点两两不同。


接下来一行一个整数n,代表有n个需要考察的集合


接下来有n个对需要考察的集合的描述:


每个描述的第一行包含一个整数l,代表该集合中的点数(1<=l<=25000)


接下来l行每行包含该集合中一个点的x坐标和y坐标,用一个空格分隔(-20000<=x,y<=20000,为整数)


包含在同一集合中的点两两不同。

输出格式

你的程序应该向标准输出流输出n行,每行代表对于一个需要考察的集合的结果。


如果第i个需要考察的集合与“模式集合”相似,则第i行应包含单词TAK,即波兰语中的yes


否则第i行应包含单词NIE,即波兰语中的no

输入输出样例

输入 #1
3
0 0
2 0
2 1
2
3
4 1
6 5
4 5
3
4 0
6 0
5 -1
输出 #1
TAK
NIE
上一题 去做题 下一题