graph 8

[소프티어 6289번] 우물 안 개구리

Softeer - 현대자동차그룹 SW인재확보플랫폼 softeer.aiimport sysinput = sys.stdin.readline# 헬스장에서 N명의 회원이 운동을 하고 있음# 각 회원은 1부터 N사이의 번호가 부여# i번 회원이 들 수 있는 역기의 무게는 Wi# 회원들 사이에는 M개의 친분 관계 (Aj, Bj)가 있음 (Aj와 Bj가 친분관계)# i번 회원은 자신과 친분 관계가 있는 다른 회원들보다 들 수 있는 # 역기의 무게가 무거우면 자신이 최고라고 생각# 단, 누구와도 친분이 없는 멤버는 본인이 최고라고 생각N, M = map(int,input().split())weights = [0] + list(map(int,input().split()))graph = [[] for _ in range(N..

[백준 11404번] 플로이드 - 플로이드(Floyd Algorithm)

11404번: 플로이드 첫째 줄에 도시의 개수 n이 주어지고 둘째 줄에는 버스의 개수 m이 주어진다. 그리고 셋째 줄부터 m+2줄까지 다음과 같은 버스의 정보가 주어진다. 먼저 처음에는 그 버스의 출발 도시의 번호가 www.acmicpc.net import sys input = sys.stdin.readline n = int(input()) m = int(input()) INF = float("inf") graph = [[INF]*(n+1) for _ in range(n+1)] for _ in range(m): start, end, cost = map(int,input().split()) graph[start][end] = min(graph[start][end],cost) for i in range(1,..

카테고리 없음 2023.10.07

[백준 1753번] 최단경로 - 다익스트라(Dijkstra Algorithm)

1753번: 최단경로 첫째 줄에 정점의 개수 V와 간선의 개수 E가 주어진다. (1 ≤ V ≤ 20,000, 1 ≤ E ≤ 300,000) 모든 정점에는 1부터 V까지 번호가 매겨져 있다고 가정한다. 둘째 줄에는 시작 정점의 번호 K(1 ≤ K ≤ V)가 www.acmicpc.net import sys import heapq input = sys.stdin.readline v, e = map(int,input().split()) INF = float("inf") graph = [[] for _ in range(v+1)] distance = [INF]*(v+1) start_node = int(input()) for _ in range(e): start, end, cost = map(int,input().s..

[백준 1916번] 최소비용 구하기 - 다익스트라(Dijkstra Algorithm)

1916번: 최소비용 구하기 첫째 줄에 도시의 개수 N(1 ≤ N ≤ 1,000)이 주어지고 둘째 줄에는 버스의 개수 M(1 ≤ M ≤ 100,000)이 주어진다. 그리고 셋째 줄부터 M+2줄까지 다음과 같은 버스의 정보가 주어진다. 먼저 처음에는 그 www.acmicpc.net import heapq import sys input = sys.stdin.readline n = int(input()) m = int(input()) INF = float("inf") graph = [[] for _ in range(n+1)] distance = [INF]*(n+1) for _ in range(m): start, end, cost = map(int,input().split()) graph[start].appen..

[Graph] 그래프의 정의 및 Python 구현방법

1) 그래프의 정의 위 그림처럼 도시와 도시 사이를 연결하는 도로나 컴퓨터 네트워크 또는 사람의 인맥 관계처럼 어떤 관계(relationships)를 표현하는 수학 구조를 그래프라고 한다. 도시, 컴퓨터, 사람 등을 노드(node 또는 vertex)라 하고, 이들을 연결하는 도로, 네트워크, 인맥 등을 간선(edges)이라 한다. (많은 자료에서 노드 대신 정점(vertex)이라는 용어를 사용한다.) 그래프는 '노드의 집합'과 '간선의 집합'으로 구성된다. 이것을 수학으로 표현하면 위와 같다. 예를 들어 아래 그림과 같은 그래프를 G=(V,E)라고 하면, V와 E는 위와 같다. 2) 그래프의 종류 그래프의 종류가 매우 많지만, 우리는 간단하게 세 종류만 공부한다. 그리고, 어떤 노드가 다시 자신과 연결되..

[프로그래머스 Lv.3] 가장 먼 노드

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr from collections import deque def solution(n, edge): answer = 0 graph = [[] for _ in range(n+1)] visited = [False]*(n+1) route = [] for start,end in edge: graph[start].append(end) graph[end].append(start) def bfs(index): visited[index] = True queue = deque([(index,0)]) route.append((ind..

[백준 2668번] 숫자고르기

2668번: 숫자고르기 세로 두 줄, 가로로 N개의 칸으로 이루어진 표가 있다. 첫째 줄의 각 칸에는 정수 1, 2, …, N이 차례대로 들어 있고 둘째 줄의 각 칸에는 1이상 N이하인 정수가 들어 있다. 첫째 줄에서 숫자를 적절 www.acmicpc.net n = int(input()) graph = [[] for _ in range(n+1)] visited = [False]*(n+1) temp = [] answer = set() for i in range(1,n+1): graph[int(input())].append(i) def dfs(index): global answer for i in graph[index]: if visited[i]: answer |= set(temp) return visite..