1. 문제 상세
https://www.acmicpc.net/problem/3009
2. 문제 접근
직사각형의 네 점의 좌표에서 규칙을 찾아 문제를 해결하자.
직사각형의 네 점의 좌표들을 살펴보면 총 8개의 x, y 좌표중 같은 x, y 좌표가 네 쌍이 있다는 것을 알 수 있다.
이를 활용하여 세 점의 좌표를 입력받았다면 같은 x, y 좌표가 세 쌍이 나올 것이고 남는 x, y 좌표가 마지막 점의 좌표가 된다.
먼저 입력받은 첫 번째 점의 x 좌표와 두 번째 점의 x 좌표를 비교해 같다면 세 번째 점의 x 좌표를 출력하자.
다르다면 첫 번째 점의 x 좌표와 세 번째 점의 x 좌표를 비교하여 같다면 두 번째 점의 x 좌표를 출력하자.
모두 아닌 경우 첫 번째 점의 x 좌표를 출력한다.
y 좌표도 동일하게 비교하여 출력하면 된다.
3. 문제 풀이
#include <iostream>
using namespace std;
int main() {
int sq[3][2];
cin >> sq[0][0] >> sq[0][1] >> sq[1][0] >> sq[1][1] >> sq[2][0] >> sq[2][1];
if(sq[0][0] == sq[1][0]) cout << sq[2][0] << " ";
else if(sq[0][0] == sq[2][0]) cout << sq[1][0] << " ";
else cout << sq[0][0] << " ";
if(sq[0][1] == sq[1][1]) cout << sq[2][1] << " ";
else if(sq[0][1] == sq[2][1]) cout << sq[1][1] << " ";
else cout << sq[0][1] << " ";
}
크기가 3 x 2 인 2차원 배열 sq 를 선언한다.
cin 으로 sq 의 원소들에 들어갈 정수 값(좌표)들을 입력받아 저장한다.
if문으로 sq 의 0, 0번 인덱스의 값이 1, 0번 인덱스의 값과 같다면, 2, 0번 인덱스의 값을 출력한다.
else if문으로 sq 의 0, 0번 인덱스의 값이 2, 0번 인덱스의 값과 같다면, 1, 0번 인덱스의 값을 출력한다.
모두 아닌 경우 sq 의 0, 0번 인덱스의 값을 출력한다.
if문으로 sq 의 0, 1번 인덱스의 값이 1, 1번 인덱스의 값과 같다면, 2, 1번 인덱스의 값을 출력한다.
else if문으로 sq 의 0, 1번 인덱스의 값이 2, 1번 인덱스의 값과 같다면, 1, 1번 인덱스의 값을 출력한다.
모두 아닌 경우 sq 의 0, 1번 인덱스의 값을 출력한다.
4. 성능 확인
5. 마무리
.
'백준 - 단계별로 풀어보기 > 기하: 직사각형과 삼각형' 카테고리의 다른 글
[백준] 5073번 : 삼각형과 세 변 | C++ (0) | 2023.10.20 |
---|---|
[백준] 10101번 : 삼각형 외우기 | C++ (0) | 2023.10.20 |
[백준] 9063번 : 대지 | C++ (0) | 2023.10.20 |
[백준] 15894번 : 수학은 체육과목 입니다 | C++ (0) | 2023.10.20 |
[백준] 1085번 : 직사각형에서 탈출 | C++ (0) | 2023.10.20 |