본문 바로가기

알고리즘55

백준_11758_CCW(CCW, 기학와 벡터) https://www.acmicpc.net/problem/11758 11758번: CCW 첫째 줄에 P1의 (x1, y1), 둘째 줄에 P2의 (x2, y2), 셋째 줄에 P3의 (x3, y3)가 주어진다. (-10,000 ≤ x1, y1, x2, y2, x3, y3 ≤ 10,000) 모든 좌표는 정수이다. P1, P2, P3의 좌표는 서로 다르다. www.acmicpc.net 해결 방법 > CCW를 이용한다. CCW https://degurii.tistory.com/47 [알고리즘] CCW로 세 점의 방향성 판별하기 첫 알고리즘 포스트입니다. 이번에 쓸 내용은 CCW입니다. 원래는 기하 알고리즘들을 전반적으로 다루려고 했는데 생각보다 글이 길어져서 CCW만 쓰게 되었습니다. 본 글의 내용은 고등학교 과.. 2020. 3. 1.
선분 교차 알고리즘 선분 > 직선 위에서 그 위의 두 점에 한정된 부분. ex) 참고 사이트 > 기본 지식 https://www.acmicpc.net/blog/view/27 점 3개의 방향성을 나타내는 CCW 세 점 P1(x1, y1), P2(x2, y2), P3(x3, y3)가 있을 떄, 점 3개를 이은 선분은 어떤 방향성을 나타내게 될까요? 11758번 문제: CCW 가능한 경우의 수는 총 3가지가 있습니다. 반시계 방향, 시계 방향, 일직선. 시계 방향을 -1, 일직선을 0, 반시계 방향을 1이라고 했을 때, P1은 검정색, P2는 초록색, P3을 파란색으로 나타내면 아래 그림과 같습니다. 세 점으로 이루어진 삼각형의 면적을 구하는 방법을 이용해서 방향성 www.acmicpc.net https://degurii.tis.. 2020. 2. 29.
백준_1057_토너먼트(시뮬레이션) https://www.acmicpc.net/problem/1057 1057번: 토너먼트 김지민은 N명이 참가하는 스타 토너먼트에 진출했다. 토너먼트는 다음과 같이 진행된다. 일단 N명의 참가자는 번호가 1번부터 N번까지 배정받는다. 그러고 난 후에 서로 인접한 번호끼리 스타를 한다. 이긴 사람은 다음 라운드에 진출하고, 진 사람은 그 라운드에서 떨어진다. 만약 그 라운드의 참가자가 홀수명이라면, 마지막 번호를 가진 참가자는 다음 라운드로 자동 진출한다. 다음 라운드에선 다시 참가자의 번호를 1번부터 매긴다. 이때, 번호를 매기는 순서는 처음 www.acmicpc.net 해결 방법 x(홀수) vs x + 1 x가 이김 (x+1)/2 x + 1가 이김 (x+2)/2 ---> (x+1)/2 INT형이라 소수점.. 2020. 2. 28.
백준_1021_회전하는 큐(시뮬레이션) https://www.acmicpc.net/problem/1021 1021번: 회전하는 큐 첫째 줄에 큐의 크기 N과 뽑아내려고 하는 수의 개수 M이 주어진다. N은 50보다 작거나 같은 자연수이고, M은 N보다 작거나 같은 자연수이다. 둘째 줄에는 지민이가 뽑아내려고 하는 수의 위치가 순서대로 주어진다. 위치는 1보다 크거나 같고, N보다 작거나 같은 자연수이다. www.acmicpc.net 해결 방법 > 시뮬레이션이라 조건을 따라가면 풀린다. > 조건 1,2,3에 해당하는 함수를 만들었다. > 인덱스를 비교하면서 1,2,3 함수를 적절히 사용하면 풀린다. 코드 더보기 size, num = map(int, input().split()) find = list(map(int,input().split())).. 2020. 2. 26.