Algorithm/Graph188 [파이썬] 백준 1068 : 트리 (골드5) [파이썬] 백준 1068 : 트리 (골드5) 1068번: 트리 첫째 줄에 트리의 노드의 개수 N이 주어진다. N은 50보다 작거나 같은 자연수이다. 둘째 줄에는 0번 노드부터 N-1번 노드까지, 각 노드의 부모가 주어진다. 만약 부모가 없다면 (루트) -1이 주어진다 www.acmicpc.net 문제 풀이 0. 방향성 생각 각 노드에서 하위 리프노드가 몇 개인지 기록하기 1. 입력 import sys input = lambda: sys.stdin.readline().rstrip() n = int(input()) tree_info = list(map(int, input().split())) remove = int(input()) leaf = [0]*n tree = [[] for _ in range(n)] .. 2023. 9. 14. [파이썬] 백준 16437: 양 구출 작전 (골드3) [파이썬] 백준 16437: 양 구출 작전 (골드3) 16437번: 양 구출 작전 2, 3, 5번에 사는 모든 양들은 1번 섬으로 갈 수 있지만 7번 섬에 사는 양들은 1번 섬으로 가기 위하여 6번 섬을 거쳐야 하는데 6번 섬에 사는 늑대들의 수가 7번 섬에 사는 양들의 수보다 많으므로 www.acmicpc.net 문제 풀이 0. 방향성 생각 DFS 자식노드 정보 받아서 부모노드 업데이트 양은 +, 늑대는 -로 생각하기 양-늑대 > 0=이면 그대로 리턴, 양-늑대 < 0이면 0 리턴 (남은 양 0) 1. 입력 import sys input = lambda : sys.stdin.readline().rstrip() sys.setrecursionlimit(10**6) n = int(input()) tree =.. 2023. 9. 11. [파이썬] 백준 1600 : 말이 되고픈 원숭이 (골드3) [파이썬] 백준 1600 : 말이 되고픈 원숭이 (골드3) 1600번: 말이 되고픈 원숭이 첫째 줄에 정수 K가 주어진다. 둘째 줄에 격자판의 가로길이 W, 세로길이 H가 주어진다. 그 다음 H줄에 걸쳐 W개의 숫자가 주어지는데, 0은 아무것도 없는 평지, 1은 장애물을 뜻한다. 장애물이 있 www.acmicpc.net 문제 풀이 0. 방향성 생각 3차원 visit만들어서 visit[점프사용횟수][y][x] = 시간 저장 BFS 1. 입력 from collections import deque k = int(input()) w,h = map(int,(input().split())) INF = w*h arr = [list(map(int,input().split())) for _ in range(h)] vis.. 2023. 9. 6. [파이썬] 백준 1261 : 알고스팟 (골드4) [파이썬] 백준 1261 : 알고스팟 (골드4) 1261번: 알고스팟 첫째 줄에 미로의 크기를 나타내는 가로 크기 M, 세로 크기 N (1 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 미로의 상태를 나타내는 숫자 0과 1이 주어진다. 0은 빈 방을 의미하고, 1은 벽을 의미 www.acmicpc.net 문제 풀이 0. 방향성 생각 다익스트라. 특정 지점 도달하는데 걸린 최소 벽뿌횟수 저장 1. 입력 import heapq as hq import sys input = lambda: sys.stdin.readline().rstrip() w,h = map(int,input().split()) INF = w*h arr = [list(input()) for _ in range(h)] visit = [.. 2023. 9. 6. 이전 1 ··· 32 33 34 35 36 37 38 ··· 47 다음