https://www.acmicpc.net/problem/9205
#include <iostream>
#include <queue>
#include <vector>
using namespace std;
struct Node {
int x;
int y;
};
int main() {
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
int t;
cin >> t;
for (int i = 0; i < t; i++) {
int n;
cin >> n; // 맥주를 파는 편의점 수
int now_row, now_col;
vector<Node> cq;
queue<Node> q;
int ex, ey;
bool flag = true;
cin >> now_row >> now_col;
for (int i = 0; i < n; i++) {
int cx, cy;
cin >> cx >> cy;
cq.push_back({ cx, cy });
}
cin >> ex >> ey;
int check[101] = { 0, };
q.push({ now_row, now_col });
// 출발하기!
while (!q.empty()) {
Node now = q.front();
q.pop();
if ((abs(now.x - ex) + abs(now.y - ey)) <= 1000) {
flag = false;
break;
}
int dx, dy;
for (int i = 0; i < cq.size(); i++) {
if (check[i] == 1) continue; // 이미 한번 갔으면...
Node conv = cq[i];
if ((abs(now.x - conv.x) + abs(now.y - conv.y)) <= 1000) {
check[i] = 1;
q.push({ conv.x, conv.y });
}
}
}
if (flag)
cout << "sad";
else
cout << "happy";
cout << "\n";
}
return 0;
}
와 진짜 문제 cout << "\n"; 안써서 인생 손해봤다...
2시간 넘게 맥주 마시면서 걸어갔다는 소문이 있던데요?