본문 바로가기

Algorithm475

[파이썬] 백준 9694 : 무엇을 아느냐가 아니라 누구를 아느냐가 문제다 (골드3) [파이썬] 백준 9694 : 무엇을 아느냐가 아니라 누구를 아느냐가 문제다 (골드3) 9694번: 무엇을 아느냐가 아니라 누구를 아느냐가 문제다 맨위 첫 번째 줄에 T(1 dist[x_node]: # 시작점 까지 거리 크면 패스 continue for nx_node,weight in graph[x_node]: # 그렇지 않은 경우 nx_dist = x_dist + weight # nx까지 거리 = x까지 거리+ 가중치 if nx_dist < dist[nx_node]: # 새로운 경로가 이득이면 업데이트 dist[nx_node] = nx_dist # 다음 노드까지 걸리는 비용 path[nx_node] = x_node # 어디서 왔는지 업데이트 heapq.heappush(q,(nx_dist,nx_node)).. 2023. 7. 3.
[파이썬] 백준 21610 : 마법사 상어와 비바라기 (골드5) [파이썬] 백준 21610 : 마법사 상어와 비바라기 (골드5) 21610번: 마법사 상어와 비바라기 마법사 상어는 파이어볼, 토네이도, 파이어스톰, 물복사버그 마법을 할 수 있다. 오늘 새로 배운 마법은 비바라기이다. 비바라기를 시전하면 하늘에 비구름을 만들 수 있다. 오늘은 비바라기 www.acmicpc.net 문제 풀이 0. 방향성 생각 그냥 구현문제. 리스트 인덱스 잘 맞춰서 구현해주면 된다. 1. 입력 받기 import sys input = sys.stdin.readline n,m = map(int,input().split()) arr = [list(map(int,input().split())) for _ in range(n)] cloud_now = [(0,n-1),(1,n-1),(0,n-2),.. 2023. 7. 2.
[파이썬] 백준 5577: RBY팡! (골드2) [파이썬] 백준 5577: RBY팡! (골드2) 5577번: RBY팡! 세로로 N개의 공이 붙어있으며, 각 공의 색은 R(빨강), B(파랑), Y(노랑) 중 하나이다. 플레이어는 한 공의 색을 다른 색으로 바꿀 수 있다. 이러한 변환을 거쳐 동일한 색의 공이 4개 이상 연속되면 www.acmicpc.net 문제 풀이 0. 방향성 생각 누가봐도 스택문제. 입력 크기가 10000이라 O(N^2)으로도 비빌 수 있다. 태그에 브루트포스 딱지가 붙어있어서 입력이 터지는 모든 경우에 대해서 탐색을 진행했다. 1. 입력 받기, 터지는 후보 찾기 import sys input = sys.stdin.readline n = int(input()) arr = [] for i in range(n): arr.append(in.. 2023. 7. 2.
[파이썬] 백준 1647 : 도시 분할 계획 (골드4) [파이썬] 백준 1647 : 도시 분할 계획 (골드4) 1647번: 도시 분할 계획 첫째 줄에 집의 개수 N, 길의 개수 M이 주어진다. N은 2이상 100,000이하인 정수이고, M은 1이상 1,000,000이하인 정수이다. 그 다음 줄부터 M줄에 걸쳐 길의 정보가 A B C 세 개의 정수로 주어지는데 A번 www.acmicpc.net 문제 풀이 0. 방향성 생각 도시가 최소한의 비용으로 연결되는 경우이므로 최소 스패닝 트리를 생각한다. 여기서 간선의 가중치가 가장 높은 부분을 제거하면 마을이 두 개로 나누어진다. 1. 입력 받기 import sys input = sys.stdin.readline house,path = map(int,input().split()) graph = [] for i in r.. 2023. 6. 30.