알고리즘
[C++] 백준 3009번 네 번째 점
J3SUNG
2019. 8. 31. 13:23
728x90
세점이 주어졌을때 평행한 직사각형을 만들기 위해
어느 좌표에 점을 찍어야하는지 출력하는 문제입니다.
축에 평행한 직사각형이기 때문에
x좌표가 같은 점이 두개있고
y좌표가 같은 점도 두개있습니다.
그러므로 x좌표가 1개인 것을 4번째 점의 x좌표로 사용하고
마찬가지로 y좌표가 1개인 것을 4번째 점의 y좌표로 사용하면됩니다.
예제로 보면.
x y
30 20
10 10
10 20
x는 30, 10, 10
y는 20, 10, 20
x는 10이 두번 나오기에 30이 4번째점 x이고
y는 20이 두번 나오기에 10이 4번째점 y입니다.
#include <iostream>
#include <algorithm>
#include <cstring>
#include <string>
#define fio ios_base::sync_with_stdio(0), cin.tie(0)
using namespace std;
int main(int argc, char *argv[])
{
int x[4];
int y[4];
for (int i = 0; i < 3; ++i) {
cin >> x[i];
cin >> y[i];
}
x[3] = x[0];
y[3] = y[0];
if (x[3] == x[1]) {
x[3] = x[2];
}
else if (x[3] == x[2]) {
x[3] = 1;
}
if (y[3] == y[1]) {
y[3] = y[2];
}
else if (y[3] == y[2]) {
y[3] = y[1];
}
cout << x[3] << " " << y[3] << endl;
return 0;
}