import java.io.IOException;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.StringTokenizer;
import java.util.LinkedList;
import java.util.Queue;
public class Test {
static int N;
static int x,y;
static int distance = 1000; // 20*50
static Point festival;
static Point home;
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st;
int T = Integer.parseInt(br.readLine());
for(int testCase=1; testCase<=T; testCase++) {
N = Integer.parseInt(br.readLine()); //맥주 파는 편의점 개수
//집
st=new StringTokenizer(br.readLine()," ");
x=Integer.parseInt(st.nextToken());
y=Integer.parseInt(st.nextToken());
home = new Point(x,y);
//편의점 N개
Point[] cvStores = new Point[N];
for(int i=0; i<N; i++) {
st = new StringTokenizer(br.readLine());
x=Integer.parseInt(st.nextToken());
y=Integer.parseInt(st.nextToken());
cvStores[i]=new Point(x,y);
}
//펜타포트 락 페스티벌
st = new StringTokenizer(br.readLine());
x=Integer.parseInt(st.nextToken());
y=Integer.parseInt(st.nextToken());
festival = new Point(x,y);
bw.write((isHappyFestival(cvStores) ? "happy": "sad") + "\n");
}
bw.flush();
bw.close();
}
static boolean isHappyFestival(Point[] cvStores) {
boolean[] visited = new boolean[N];
Queue<Point> q = new LinkedList<>();
q.add(home);
while(!q.isEmpty()) {
Point p = q.poll();
if(getDistance(p,festival)<= distance) return true;
for(int i=0; i<N; i++) {
if(!visited[i] && getDistance(p,cvStores[i])<=distance ) {
visited[i] = true;
q.add(cvStores[i]);
}
}
}
return false;
}
static int getDistance(Point p1, Point p2) {
return Math.abs(p1.x-p2.x)+Math.abs(p1.y-p2.y);
}
}
class Point{
int x;
int y;
Point(int x, int y){
this.x = x;
this.y = y;
}
}
'NOTE > BAEKJOON' 카테고리의 다른 글
20188 등산 마니아 (0) | 2022.10.10 |
---|---|
9084 동전 (0) | 2022.10.08 |
14502 연구소 (1) | 2022.09.30 |
2565 전깃줄 (0) | 2022.03.21 |
11054 가장 긴 바이토닉 부분 수열 (0) | 2022.03.21 |