Baekjoon Online Judge
문제
세 점이 주어졌을 때, 축에 평행한 직사각형을 만들기 위해서 필요한 네 번째 점을 찾는 프로그램을 작성하시오.
입력
세 점의 좌표가 한 줄에 하나씩 주어진다. 좌표는 1보다 크거나 같고, 1000보다 작거나 같은 정수이다.
출력
직사각형의 네 번째 점의 좌표를 출력한다.
예제 입력 | 예제 출력 |
5 5 5 7 7 5 |
7 7 |
30 20 10 10 10 20 |
30 10 |
풀이
#include <iostream>
using namespace std;
void findSolo(int* oneTwo, int third);
// 세 점 중 혼자 좌표가 다른 것을 찾는다.
void findSolo (int* oneTwo, int third) {
int solo;
if (oneTwo[0] == oneTwo[1]) // 첫번째와 두번째 점의 좌표가 같음
solo = third;
else if (third == oneTwo[0]) // 첫번째와 세번째가 같음
solo = oneTwo[1];
else // 두번째와 세번째가 같음
solo = oneTwo[0];
cout << solo << " ";
}
int main() {
// 점 2개의 위치 정보를 배열에 저장한다.
int xNum[2], yNum[2];
for (int i = 0; i < 2; i++)
cin >> xNum[i] >> yNum[i];
// 나머지 점 1개의 위치 정보
int x, y;
cin >> x >> y;
findSolo(xNum, x);
findSolo(yNum, y);
return 0;
}
직사각형의 각 점의 x, y좌표는 직사각형 내의 다른 점의 좌표 x나 y와 무조건 짝을 이룬다.
ex) 0, 1 2, 1
0, 0 2, 0
그러므로 짝 없이 혼자 있는 x, y좌표를 찾으면 직사각형의 네 번째 점의 좌표를 알 수 있다.
'백준 > C++' 카테고리의 다른 글
[Baekjoon/C++] 택시 기하학 3053번 (0) | 2022.04.09 |
---|---|
[Baekjoon/C++] 직각삼각형 (0) | 2022.04.09 |
[Baekjoon/C++] 직사각형에서 탈출 1085번 (0) | 2022.04.09 |
[Baekjoon/C++] 골드바흐의 추측 9020번 (0) | 2022.04.09 |
[Baekjoon/C++] 베르트랑 공준 4948번 (0) | 2022.04.09 |