본문 바로가기

PS73

[테스트 케이스 추가] 백준 1504 특정한 최단 경로 python,파이썬 1. 문제 https://www.acmicpc.net/problem/1504 1504번: 특정한 최단 경로 첫째 줄에 정점의 개수 N과 간선의 개수 E가 주어진다. (2 ≤ N ≤ 800, 0 ≤ E ≤ 200,000) 둘째 줄부터 E개의 줄에 걸쳐서 세 개의 정수 a, b, c가 주어지는데, a번 정점에서 b번 정점까지 양방향 길이 존 www.acmicpc.net 2. 풀이 다익스트라로 풀면 되고, 1->v1->v2->n, 1->v2->v1->n 그리고 연결이 안될 경우 INF인 경우를 세줘야 한다. 3. 구현 import sys import heapq import math sys.stdin=open("input.txt") v,e = map(int, sys.stdin.readline().split()).. 2021. 7. 5.
[테스트케이스 추가] 백준 1753 최단경로 (python, 파이썬) 1. 문제 https://www.acmicpc.net/problem/1753 1753번: 최단경로 첫째 줄에 정점의 개수 V와 간선의 개수 E가 주어진다. (1≤V≤20,000, 1≤E≤300,000) 모든 정점에는 1부터 V까지 번호가 매겨져 있다고 가정한다. 둘째 줄에는 시작 정점의 번호 K(1≤K≤V)가 주어진다. www.acmicpc.net 2. 풀이 전형적인 다익스트라문제. [다익스트라 풀이] 1) dist, gph, edges(heap) 세 가지 list가 필요하다. dist = [math.inf for i in range(v+2)] gph = [[] for i in range(v+2)] edges=[] 2) gph에 연결관계를 넣는다. gph[u].append((v,w)): u에서 v로 갈 .. 2021. 7. 5.
[미완] 백준 9373 복도뚫기: 크루스칼 (python, 파이썬) 1. 문제 https://www.acmicpc.net/problem/9373 9373번: 복도 뚫기 각 테스트 케이스마다 센서에 감지되지 않고 복도를 지나갈 수 있는 원형 물체의 최대 반지름을 부동소수점 실수로 한 줄에 출력한다. 물체는 매우 정밀하게 움직일 수 있다고 가정한다. 만약 www.acmicpc.net 2. 풀이 1. 벽을 heap에 넣는 것이 어려웠다. 왼쪽 벽에 모든 원에 대해 수직으로 꽂아 dist를 측정. 음수는 벽과 원을 잇고, 그렇지 않은 경우 가장 짧은 dist를 heap에 넣었다. 오른쪽도 마찬가지. 2. 시간초과가 나오는데 pypy3 정답 코드를 python으로 제출해도 시간초과가 나오기 때문에, 우선은 넘어가려고한다. 3. 구현 import sys import heapq sy.. 2021. 7. 5.
[백준 2887] 행성 터널: 크루스칼 (python, 파이썬) 1.문제 https://www.acmicpc.net/problem/2887 2887번: 행성 터널 첫째 줄에 행성의 개수 N이 주어진다. (1 ≤ N ≤ 100,000) 다음 N개 줄에는 각 행성의 x, y, z좌표가 주어진다. 좌표는 -109보다 크거나 같고, 109보다 작거나 같은 정수이다. 한 위치에 행성이 두 개 이 www.acmicpc.net 2.풀이 O(N^2)으로 풀리지 않는다. 각 차원마다 정렬하고, 가까이 있는 행성들끼리의 거리를 heap에 넣어준다. 될까 싶지만 되는 꿀팁 문제인 것 같다. 3.구현 import sys import heapq sys.stdin = open("input.txt") N = int(sys.stdin.readline()) lis=[] for i in range(.. 2021. 7. 4.
반응형