반응형

https://www.acmicpc.net/problem/12781

 

12781번: PIZZA ALVOLOC

입력의 첫 줄에는 도윤이와 친구들이 선택한 점의 좌표 x, y(-10,000 ≤ x, y ≤ 10,000)가 순서대로 4개 주어진다. x, y값은 항상 정수이다.

www.acmicpc.net

 

각 점은 가장 자리에만 있고 두 직선이 서로를 양분한다면, 두 직선에는 교점이 생기고 4조각으로 나뉠 것입니다.

#include <cstdio>
bool isDivided(double x1, double y1, double x2, double y2, double x3, double y3, double x4, double y4) {
	double f1 = (x2 - x1) * (y3 - y1) - (y2 - y1) * (x3 - x1);
	double f2 = (x2 - x1) * (y4 - y1) - (y2 - y1) * (x4 - x1);
	return f1 * f2 < 0;
}
int main() {
	double x1, y1, x2, y2, x3, y3, x4, y4;
	scanf("%lf %lf %lf %lf %lf %lf %lf %lf", &x1, &y1, &x2, &y2, &x3, &y3, &x4, &y4);
	if (isDivided(x1, y1, x2, y2, x3, y3, x4, y4)) printf("1");
	else printf("0");
}

 

반응형

'Algorithm' 카테고리의 다른 글

백준 16916 : 부분 문자열  (0) 2021.11.11
백준 1644 : 소수의 연속합  (0) 2021.11.11
백준 12784 : 인하니카 공화국  (0) 2021.11.11
백준 17609 : 회문  (0) 2021.11.11
백준 13459 : 구슬 탈출  (0) 2021.11.11

+ Recent posts