본문 바로가기

ALGO

(13)
[백준 BOJ] 27718 선분 교차 EX (python) 문제 링크 : https://www.acmicpc.net/problem/27718 27718번: 선분 교차 EX 주어진 $N$개의 선분 중 중복을 허용하여 두 개를 고르는 모든 경우에 대해, 두 선분이 다음 중 어떤 관계인지 구하는 프로그램을 작성하시오. 0: 교점이 없음 1: 교점이 정확히 하나 있으며, 그 교 www.acmicpc.net 선분 교차 업그레이드 문제입니다. 주어진 모든 선분의 교차관계를 구하여야 합니다. 기존의 선분 교차 판정을 반복문을 통해 진행하므로 미리 기준 선분이 y축과 평행한지를 구해주었습니다. 또한 한 점에서 교차할 때 그 점이 어떠한 한 선분의 끝점인지 아닌지 역시 판정해 줄 필요가 있습니다. 이전의 문제들과 달리 CCW 없이 풀기에는 한계가 있어 바로 CCW를 사용해 풀이..
[백준 BOJ] 20149 선분 교차 3 (python) 문제 링크 : https://www.acmicpc.net/problem/20149 20149번: 선분 교차 3 첫째 줄에 L1의 양 끝 점 x1, y1, x2, y2가, 둘째 줄에 L2의 양 끝 점 x3, y3, x4, y4가 주어진다. www.acmicpc.net 선분 교차, 그 세번째 문제입니다. 참고로 4, 5는 다이아등급으로 풀지 못했습니다.. 역시 CCW를 사용하지 않는 풀이와 사용하는 풀이 두가지로 풀이가 나뉘었습니다. 교차점 이번 문제에서는 두 선분이 한 점에서 교차할때 그 점의 좌표를 구하게 되는 문제입니다. 그러므로 선분 교차 2의 기본 코드에 점의 좌표를 구하는 코드만 추가하시면 됩니다. 그렇기 때문에 CCW를 쓰는 경우라도 교차점을 구하는 부분에서는 일차함수식을 써주었습니다. 다음은 ..
[백준 BOJ] 17386 17387 선분 교차 1, 2 (python) 문제 링크 : https://www.acmicpc.net/problem/17386 17386번: 선분 교차 1 첫째 줄에 L1의 양 끝 점 x1, y1, x2, y2가, 둘째 줄에 L2의 양 끝 점 x3, y3, x4, y4가 주어진다. 세 점이 일직선 위에 있는 경우는 없다. www.acmicpc.net 문제 링크 : https://www.acmicpc.net/problem/17387 17387번: 선분 교차 2 첫째 줄에 L1의 양 끝 점 x1, y1, x2, y2가, 둘째 줄에 L2의 양 끝 점 x3, y3, x4, y4가 주어진다. www.acmicpc.net 요새 재밌게 풀이한 기하학 문제인 선분 교차 시리즈의 1, 2번 문제입니다. 두가지 풀이가 있는데 바로 저번에 풀었던 CCW를 쓰고 안쓰냐..
[백준 BOJ] 11758 CCW (python) 문제 링크 : 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란 문제를 풀이하겠습니다. CCW CCW란..
[백준 BOJ] 1194 달이 차오른다, 가자. (python) 문제 링크 : https://www.acmicpc.net/problem/1194 1194번: 달이 차오른다, 가자. 첫째 줄에 미로의 세로 크기 N과 가로 크기 M이 주어진다. (1 ≤ N, M ≤ 50) 둘째 줄부터 N개의 줄에 미로의 모양이 주어진다. 같은 타입의 열쇠가 여러 개 있을 수 있고, 문도 마찬가지이다. 그리고, www.acmicpc.net 첫 문제 풀이입니다. 제목의 노래를 아신다면 문제가 재밌으니 꼼꼼히 읽어보시기 바랍니다. 정말 대표적인 DFS, 시뮬레이션 문제라고 생각합니다. 시간 제한과 제약 조건이 넉넉하니 구현만 잘하신다면 충분히 풀만한 문제라고 생각합니다. DFS 기본적으로 python에서 DFS를 사용하신다면 collections의 deque를 사용하시면 좋습니다. deQue..