2023 Winter Waterloo Local Contest, Problem B
BaoBao is playing the famous game Elden Ring these days. It's an open-world game in which you can control your character to travel from place to place. However, your character could also enter a trap and you need to figure out how to escape. Right now, BaoBao's character is stuck in a -dimensional plane with deadly lasers. There are laser generators (each can be regarded as a point) shooting laser beams between every pair of them (so there are laser beams in total). The beams start and end at generator points and do not stretch to infinity.
Starting at point , BaoBao wants to escape to point without touching any laser beam or generator. In order to do so, BaoBao can ask her friend DreamGrid to remove any number of laser generators, together with any laser beam that starts or ends at these generators. Output the minimum number of laser generators that need to be erased for the escape.
Note that BaoBao does not need to move in a specific direction to escape. Her escaping route can even be a curve if necessary.
There are multiple test cases. The first line of the input contains an integer indicating the number of test cases. For each test case:
The first line contains an integer indicating the number of laser generators.
For the following lines, the -th line contains two integers and indicating the location of the -th laser generator.
It is guaranteed that no two generators coincide, and no laser beam or generator will touch .
It is also guaranteed that the sum of of all test cases will not exceed .
For each test case output one line containing one integer indicating the minimum number of generators that need to be removed.
3 2 1 0 2 0 3 1 0 0 1 -1 -1 5 2 -1 1 2 -1 2 -2 -1 0 -2
0 1 2
Explanation for Sample
The second and third sample test cases are shown below. Solid dots and lines represent the remaining laser generators and beams, while hollow dots and dashed lines represent the removed laser generators and beams. The arrow is the escaping route.