핸드 판별
시간 제한1초메모리 제한128 MB
다섯 장의 카드마다 값의 쌍별 차이 열 개가 모두 다르고, 다섯 무늬가 서로 다른지 판정합니다.
문제
호빗들은 운과 기술이 어우러진 놀이를 즐긴다. 그중 하나는 우리의 포커와 매우 비슷하지만, 카드 한 벌의 구성과 규칙이 조금 다르다.
- 각 카드의 값은 1부터 21까지(양 끝 포함) 중 하나이다.
- 각 카드의 무늬는 5종류(엘프, 인간, 호빗, 엔트, 오크) 중 하나이다.
따라서 한 벌은 장으로 이루어지며, 포커와 마찬가지로 한 "핸드"는 5장의 카드로 구성된다.
주어진 핸드가 스프레드(spread) 인지, 그리고 레인보우(rainbow) 인지를 판별하라.
스프레드. 무늬는 무시하고 값만 본다. 어떤 두 카드의 값 차이가 다른 어떤 두 카드의 값 차이와도 결코 같지 않을 때, 즉 모든 카드 쌍의 값 차이가 서로 다를 때 그 핸드는 스프레드이다.
예를 들어 값이 1, 2, 4, 8, 16인 핸드는 스프레드이다. 모든 값 쌍의 절댓값 차이가 서로 다르기 때문이다.
레인보우. 핸드가 5종류의 무늬를 정확히 하나씩 포함할 때 그 핸드는 레인보우이다.
입력
첫 번째 줄에 테스트 케이스의 수 가 주어진다 ().
다음 개의 줄에는 각각 하나의 핸드가 주어진다. 하나의 핸드는 10개의 정수로 주어지며, 카드 5장에 대해 카드마다 정수 2개가 온다. 각 카드에서 첫 번째 정수는 무늬(0 이상 4 이하의 정수)이고, 두 번째 정수는 값(1 이상 21 이하의 정수)이다.
출력
각 테스트 케이스마다, 해당 핸드가 스프레드인지와 레인보우인지를 한 줄에 출력한다.
각 줄의 형식은 다음과 같아야 한다. 먼저 스프레드 판정을 폭 24칸의 왼쪽 정렬 필드(오른쪽을 공백으로 채움)에 출력하고, 곧이어 레인보우 판정을 출력한다.
- 스프레드 판정은
Have a spread.또는Do not have a spread.이다. - 레인보우 판정은
Have a rainbow.또는Do not have a rainbow.이다.