티스토리 뷰
var a,b,c,d,e,f,g,i:real;
begin
readln(a,b);
readln(c,d);
read(e,f);
if a=c then g:=1e9 else g:=(b-d)/(a-c);
if c=e then i:=1e9 else i:=(d-f)/(c-e);
if g=i then write('WHERE IS MY CHICKEN?') else write('WINNER WINNER CHICKEN DINNER!');
end.
풀이 : 기울기 구하기
0. 변수는 실수형으로 합니다.
1. y값의 변화 / x값의 변화, 즉 기울기를 1번-2번, 2번-3번 : 총 2개의 기울기를 구합니다.
2. 기울기를 구하는 과정에서 x값이 동일하면 에러가 발생하므로 (0으로 나눌수 없으니 예외처리를 합니다. 위의 코드에선 x값이 같은 경우에 기울기를 1e9 으로 정했습니다. 1e9는 주어진 조건에서는 나올수 없는 기울기의 값입니다)
3. 1-2, 2-3의 기울기가 모두 같다면 세 점은 같은 직선에 있다는 의미입니다.
https://www.acmicpc.net/problem/15803
6가지의 경우밖에 없으며
1번, 2번 2번,3번의 기울기만을 구해서도 3 점이 같은 직선에 있는 지를 알 수 있습니다.
1번, 2번 1번,3번의 기울기을 구해서도 가능합니다. (이외에도 여러 방식이 존재합니다)
'Pascal > BAEKJOON' 카테고리의 다른 글
pascal 17290번 Crazy_aRcade_Good (백준) (0) | 2025.01.11 |
---|---|
pascal 30923번 크냑과 3D 프린터 (백준) (0) | 2025.01.11 |
pascal 17286번 유미 (백준) (0) | 2025.01.09 |
pascal 32458번 Just Round Down (백준) (0) | 2024.10.19 |
pascal 31738번 매우 어려운 문제 (백준) (0) | 2024.09.08 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 기하학
- 세그먼트 트리
- DP
- 최소 스패닝 트리
- 최대공약수
- 정렬
- 플로이드
- union
- 오프라인 쿼리
- BFS
- XOR
- DFS
- 그리디
- 백준
- 누적합
- Krustal
- java
- 그래프
- find
- 1835
- C++
- Segment Tree
- 1835번
- 누적 합
- 스택
- 덱
- 브루트포스
- Lazy Propagation
- C언어
- PASCAL
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
글 보관함