BIRD - Bird or not bird

no tags 

You are studying animals in a forest, and are trying to determine which animals are birds and which are not.


You do this by taking two measurements of each animal – their height and their weight. For an animal to be a bird, its height needs to be within some range, and its weight needs to be within another range, but you're not sure what the height and weight ranges are. You also know that every animal that satisfies these ranges is a bird.


You have taken some of the animals you have measured and shown them to biologists, and they have told you which are birds and which are not. This has given you some information on what the height and weight ranges for a bird must be. For the remaining animals, your program should determine if they are definitely birds, definitely not birds, or if you don't know from the information you have.


Input
One line containing an integer C, the number of test cases in the input.
For each of the C test cases:
• One line containing an integer N, the number of animals you have shown to the
biologists.
• N lines, one for each of these animals, each of the format "H W X", where H is the height
of the animal, W is the weight of the animal, and X is either the string "BIRD" or "NOT
BIRD". All numbers are positive integers.
• One line containing an integer M, the number of animals you have not shown to the
biologists.
• M lines, one for each of these animals, each of the format "H W", where H is the height
of the animal and W is the weight of the animal. All numbers are positive integers.


Output
For each of the C test cases:
• One line containing the string "Case #X:" where X is the number of the test case, starting
from 1.
• M lines, each containing one of "BIRD", "NOT BIRD", or "UNKNOWN" (quotes are
just for clarity and should not be part of the output).


Limits
1 <= C <= 20
1 <= all heights and weights <= 1000000
1 <= N <= 1000
1 <= M <= 1000

Sample input
3
5
1000 1000 BIRD
2000 1000 BIRD
2000 2000 BIRD
1000 2000 BIRD
1500 2010 NOT BIRD
3
1500 1500
900 900
1400 2020
3
500 700 NOT BIRD
501 700 BIRD
502 700 NOT BIRD
2
501 600
502 501
1
100 100 NOT BIRD
3
107 93
86 70
110 115


Sample output
Case #1:
BIRD
UNKNOWN
NOT BIRD
Case #2:
UNKNOWN
NOT BIRD
Case #3:
UNKNOWN
UNKNOWN
UNKNOWN


hide comments
Ashutosh Singla: 2013-06-04 06:00:21

maybe the problem is not explained well.

time limit exceeded: 2012-04-14 13:52:39

in the second test case,
why 502-501 is not a bird???

Cen Ruocai: 2012-04-09 12:49:42

Oh I see...
Case 3:
In this case, we know that anything with height 100 and weight 100 is not a bird, but we just don't know
what birds are.

Last edit: 2012-04-10 00:22:51

Added by:sieunhan
Date:2009-11-29
Time limit:0.186s-0.934s
Source limit:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Languages:All except: ASM64 NODEJS OBJC PERL6 SQLITE VB.NET
Resource:Google Code Jam - ACM Vietnam Practice