Baekjoon/단계별로 풀어보기

[BOJ / 백준] 3009번 네 번째 점 C++ 문제 풀이

728x90

단계별로 풀어보기 - 수학 2단계 - [7단계] 3009번

문제

문제 링크 : www.acmicpc.net/problem/3009

 

3009번: 네 번째 점

세 점이 주어졌을 때, 축에 평행한 직사각형을 만들기 위해서 필요한 네 번째 점을 찾는 프로그램을 작성하시오.

www.acmicpc.net

입력 복사 : 

30 20 10 10 10 20

 

CODE

#include <iostream>
using namespace std;

int main() {
	int x1, y1, x2, y2, x3, y3, rx, ry;
	cin >> x1 >> y1 >> x2 >> y2 >> x3 >> y3;

	rx = x1;
	ry = y1;
	if (rx == x2)
		rx = x3;
	else if (rx == x3)
		rx = x2;
	
	if (ry == y2)
		ry = y3;
	else if (ry == y3)
		ry = y2;

	cout << rx << " " << ry << "\n";
}

 

풀이

위 그림과 같이 직사각형의 네 꼭짓점 좌표는 x좌표와 y좌표가 각각 한쌍씩 같은 값을 가진다.

따라서 하나의 꼭짓점을 기준으로 x좌표가 다른 x좌표와 같다면 또 다른 x좌표가 네 번째 점의 x좌표와 같을 것이고,

동일한 x좌표가 없다면 기준이 되는 x좌표가 네번재 점의 x좌표와 동일할 것이다.

y좌표도 x좌표를 구하는 방식과 동일하게 구할 수 있다.

 

 

결과

728x90