※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※
이번에 볼 문제는 백준 15803번 문제인 PLAYERJINAH’S BOTTLEGROUNDS이다.
문제는 아래 링크를 확인하자.
https://www.acmicpc.net/problem/15803
15803번: PLAYERJINAH’S BOTTLEGROUNDS
한때 굉장히 유행하고 유명했던 게임, PLAYERJINAH’S BOTTLEGROUNDS는 FPS(First-Person Shooter) 장르의 게임이다. 전 세계적으로 많은 사람을 열광시킨 이 게임은 영화 Bottle Royale 을 모티브로 만들어졌다. 영
www.acmicpc.net
서로 다른 세 점이 주어질 때, 이 세 점이 한 직선 위에 있는지를 판정하는 문제이다.
사선공식(shoelace formula)를 이용해 세 점이 이루는 삼각형의 넓이를 구하면 세 점이 한 직선 위에 있을 경우 0, 아닌 경우 0이 아닌 값이 나온다는 점을 이용하면 세 점이 직선 위에 있는지를 판정할 수 있다.
아래는 제출한 소스코드이다.
#include <iostream>
using namespace std;
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
int x1, y1, x2, y2, x3, y3; cin >> x1 >> y1 >> x2 >> y2 >> x3 >> y3;
if (x1 * y2 + x2 * y3 + x3 * y1 - x1 * y3 - x3 * y2 - x2 * y1 == 0) cout << "WHERE IS MY CHICKEN?";
else cout << "WINNER WINNER CHICKEN DINNER!";
}
728x90
'BOJ' 카테고리의 다른 글
[BOJ 15808 // C++] 주말 여행 계획 (0) | 2022.07.24 |
---|---|
[BOJ 15804 // C++] 저거 못 타면 지각이야!! (0) | 2022.07.23 |
[BOJ 15807 // C++] *빛*영*우* (0) | 2022.07.21 |
[BOJ 1294 // C++] 문자열 장식 (0) | 2022.07.20 |
[BOJ 20654 // C++] 음료수는 사드세요 제발 (0) | 2022.07.19 |