algorithm

BOJ 11758(CCW)

rkawk 2022. 10. 3. 19:15
๋”๋ณด๊ธฐ

CCW ์„ฑ๊ณต

 
1 ์ดˆ 256 MB 11001 6812 5569 63.689%

๋ฌธ์ œ

2์ฐจ์› ์ขŒํ‘œ ํ‰๋ฉด ์œ„์— ์žˆ๋Š” ์  3๊ฐœ P1, P2, P3๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. P1, P2, P3๋ฅผ ์ˆœ์„œ๋Œ€๋กœ ์ด์€ ์„ ๋ถ„์ด ์–ด๋–ค ๋ฐฉํ–ฅ์„ ์ด๋ฃจ๊ณ  ์žˆ๋Š”์ง€ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

์ž…๋ ฅ

์ฒซ์งธ ์ค„์— P1์˜ (x1, y1), ๋‘˜์งธ ์ค„์— P2์˜ (x2, y2), ์…‹์งธ ์ค„์— P3์˜ (x3, y3)๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (-10,000 โ‰ค x1, y1, x2, y2, x3, y3 โ‰ค 10,000) ๋ชจ๋“  ์ขŒํ‘œ๋Š” ์ •์ˆ˜์ด๋‹ค. P1, P2, P3์˜ ์ขŒํ‘œ๋Š” ์„œ๋กœ ๋‹ค๋ฅด๋‹ค.

์ถœ๋ ฅ

P1, P2, P3๋ฅผ ์ˆœ์„œ๋Œ€๋กœ ์ด์€ ์„ ๋ถ„์ด ๋ฐ˜์‹œ๊ณ„ ๋ฐฉํ–ฅ์„ ๋‚˜ํƒ€๋‚ด๋ฉด 1, ์‹œ๊ณ„ ๋ฐฉํ–ฅ์ด๋ฉด -1, ์ผ์ง์„ ์ด๋ฉด 0์„ ์ถœ๋ ฅํ•œ๋‹ค.

์˜ˆ์ œ ์ž…๋ ฅ 1 ๋ณต์‚ฌ

1 1
5 5
7 3

์˜ˆ์ œ ์ถœ๋ ฅ 1 ๋ณต์‚ฌ

-1

์˜ˆ์ œ ์ž…๋ ฅ 2 ๋ณต์‚ฌ

1 1
3 3
5 5

์˜ˆ์ œ ์ถœ๋ ฅ 2 ๋ณต์‚ฌ

0

์˜ˆ์ œ ์ž…๋ ฅ 3 ๋ณต์‚ฌ

1 1
7 3
5 5

์˜ˆ์ œ ์ถœ๋ ฅ 3 ๋ณต์‚ฌ

1โ€‹

๊ธฐํ•˜๋ฅผ ์ž˜ ์•Œ์ง€ ๋ชปํ•ด์„œ ์‹œ๊ณ„๋ฐฉํ–ฅ, ๋ฐ˜์‹œ๊ณ„๋ฐฉํ–ฅ์˜ ์„ ๋ถ„์— ๋Œ€ํ•ด ์ฐพ์•„๋ณด์•˜๋‹ค.

 

https://coloredrabbit.tistory.com/162

 

๊ธฐํ•˜[1] -2์ฐจ์› ์„ธ ์ ์˜ ๊ด€๊ณ„ - ํ‰ํ–‰ ๋ฐ ์‹œ๊ณ„, ๋ฐ˜์‹œ๊ณ„ ๋ฐฉํ–ฅ

2์ฐจ์›์—์„œ ์„ธ ์ ์ด ์ฃผ์–ด์กŒ์„ ๋•Œ ์ด ์„ธ ์ ์„ ์ด์—ˆ์„ ๋•Œ ์ด๋ฃจ๋Š” ๋‘ ์„ ๋ถ„์˜ ์—ฐ๊ฒฐ ๊ด€๊ณ„๋ฅผ ํ‰ํ–‰ ๊ทธ๋ฆฌ๊ณ  ์‹œ๊ณ„, ๋ฐ˜์‹œ๊ณ„ ๋ฐฉํ–ฅ์œผ๋กœ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋‹จ, ๋‘ ์„ ๋ถ„์ด ์กด์žฌํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ ์ด ์•„๋‹Œ ์„ ์œผ๋กœ ์žˆ

coloredrabbit.tistory.com

 

์ด๊ฒŒ ์ „๋ถ€๋‹ค.

 

#include <functional>
#include <iostream>
#include <vector>
#include <algorithm>
#define INF 987654321;
using namespace std;
int x1,y1,x2,y2,x3,y3,comp;
int main(){
    ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
    cin>>x1>>y1>>x2>>y2>>x3>>y3;
    comp = (y2-y1)*(x3-x2)-(y3-y2)*(x2-x1);
    if(comp==0)
        cout<<0;
    if(comp > 0)
        cout<<-1;
    if(comp < 0)
        cout<<1;
}