티스토리 뷰

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번의 기울기을 구해서도 가능합니다. (이외에도 여러 방식이 존재합니다)

최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/04   »
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
글 보관함