잔디깎이 (라지)
면접 대비시간 제한5초메모리 제한512 MB
높이가 100인 잔디밭을 행이나 열 단위로 깎아 목표 높이 격자를 만들 수 있는지 판정합니다.
문제
앨리스와 밥의 집 앞에는 가로 미터, 세로 미터인 직사각형 잔디밭이 있다. 두 사람은 해마다 잔디를 어떤 무늬로 깎는다. 예전에는 전정가위로 깎느라 시간이 아주 오래 걸렸지만, 올해는 설정이 여러 가지인 자동 잔디깎이가 생겨서 이것을 써 보려고 한다.
잔디깎이에는 높이 설정이 있다. 1밀리미터 이상 100밀리미터 이하인 높이 를 정하면, 지나가는 자리에서 보다 높은 잔디를 모두 정확히 로 깎는다. 잔디밭 가장자리의 아무 지점에서나 잔디깎이를 들여보내면, 들어간 변에 수직인 직선을 따라 폭 1미터를 깎으면서 반대편으로 빠져나간다. 높이는 잔디깎이가 잔디밭 밖에 있을 때만 바꿀 수 있다.
앨리스와 밥에게는 잔디밭에 만들고 싶은 무늬 후보가 여러 개 있다. 무늬마다 잔디깎이로 그 무늬를 만들 수 있는지 판정하라. 무늬는 잔디밭을 한 변이 1미터인 정사각형 칸으로 나누고 칸마다 원하는 잔디 높이를 적어서 나타낸다.
처음에 잔디밭 전체의 잔디 높이는 100밀리미터이다.
입력
첫 줄에 테스트 케이스의 개수 가 주어진다. 이어서 테스트 케이스가 주어진다.
각 테스트 케이스의 첫 줄에는 두 정수 과 이 주어진다. 다음 개의 줄에는 각각 개의 정수가 주어진다. 번째 줄의 번째 정수 는 번째 행 번째 칸에 원하는 잔디 높이이다.
제한
출력
각 테스트 케이스마다 Case #x: y 형식으로 한 줄씩 출력한다. 는 1부터 세는 테스트 케이스 번호이고, 는 잔디깎이로 그 무늬를 만들 수 있으면 YES, 만들 수 없으면 NO이다.