fragment-header
fragment-markdown
홈
로그인
로그아웃
내 블로그
설정
로그인
백준 33884 (C++) 클리크 조절
최초 업로드: 2025-09-14 10:05:12
최근 수정 시간: 2025-09-14 10:05:12
게시자: rlatjwls3333
카테고리: 백준
조회수: 4
# [Bronze I] 클리크 조절 [문제 링크](https://www.acmicpc.net/problem/33884) ## 문제 설명 <p>여기, 육군훈련소에 들어가게 된 훈련병 민우가 있다. 국방의 의무를 다하기 위해 입대한 민우는 입대하고 나서야 자신이 사격에 천재적인 재능이 있음을 발견하게 된다.</p> <p>사격 훈련은 총 $2$회, 훈련마다 $N$발의 사격을 진행하게 된다. 각 사격 훈련이 끝난 뒤, 모든 훈련병은 발사된 총알들이 표적지에 꽂힌 위치를 확인한다. 표적지는 2차원 좌표계, 발사된 총알들이 꽂힌 위치는 2차원 좌표계의 점으로 생각할 수 있다.</p> <p>두 번의 사격 훈련이 종료된 후, 민우는 훈련마다 자신이 쏜 총알들이 표적지에 꽂힌 위치가 첫 번째 사격과 비교해 정확히 $x$축 양의 방향으로 $A$만큼, $y$축 양의 방향으로 $B$만큼 평행이동한 것을 확인하였다. 민우를 도와 $A$와 $B$를 구해보자.</p> ## 입력 <p>첫 번째 줄에 각 사격 훈련마다 발사한 총알의 개수를 의미하는 양의 정수 $N$이 주어진다. $(1\leq N \leq 200\,000)$</p> <p>두 번째 줄부터 $N$줄에 걸쳐 첫 번째 사격 훈련에서 발사한 총알이 표적지에 꽂힌 위치의 좌표를 의미하는 정수 $x$와 $y$가 공백으로 구분되어 주어진다. $(-10^9\leq x,y \leq 10^9)$</p> <p>그다음 $N$줄에 걸쳐 두 번째 사격 훈련에서 발사한 총알이 표적지에 꽂힌 위치의 좌표를 의미하는 정수 $x$와 $y$가 공백으로 구분되어 주어진다. $(-10^9\leq x,y \leq 10^9)$</p> ## 출력 <p>각 탄착군이 $x$축과 $y$축 양의 방향에 대하여 평행이동한 값을 의미하는 $A$와 $B$를 공백으로 구분하여 출력한다.</p> <p>문제의 조건을 만족시키는 $A$와 $B$가 반드시 존재한다.</p> ## 풀이 가장 작은 값은 동일하기에 정렬해서 첫번째 값끼리 비교하면 됩니다. ``` c++ #include<bits/stdc++.h> using namespace std; int main() { ios::sync_with_stdio(0); cin.tie(0); int n; cin >> n; vector<pair<int, int>> a(n), b(n); for(int i=0;i<n;i++) cin >> a[i].first >> a[i].second; for(int i=0;i<n;i++) cin >> b[i].first >> b[i].second; sort(a.begin(), a.end()); sort(b.begin(), b.end()); cout << b[0].first-a[0].first << ' ' << b[0].second-a[0].second; } ```