※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※

 

이번에 볼 문제는 백준 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

+ Recent posts