본문 바로가기

Algorithm/Graph188

[파이썬] 백준 1774 : 우주신과의 교감 (골드3) [파이썬] 백준 1774 : 우주신과의 교감 (골드3) 문제 풀이 0. 방향성 생각 MST 미리 연결된 간선이 들어오면 먼저 union해주기 1. 입력 import sys input = lambda : sys.stdin.readline().rstrip() n,m = map(int,input().split()) locations = [None] + [tuple(map(int,input().split())) for _ in range(n)] parent = list(range(n+1)) for _ in range(m): x,y = map(int,input().split()) union(x,y) location에 x,y 위치 받아주기 연결된 간선끼리는 union 해주기. 2. 함수 정의 def find(a):.. 2023. 12. 13.
[파이썬] 백준 22944 : 죽음의 비 (골드3) [파이썬] 백준 22944 : 죽음의 비 (골드3) 문제 풀이 0. 방향성 생각 S에서 시작해서 우산 내구도가 있는 상태면 우산 내구도부터 깎고, 아닌 경우 HP깎는 방식으로 진행. 1. 입력 from collections import deque import sys input = lambda : sys.stdin.readline().rstrip() n,hp,shield = map(int,input().split()) arr = [list(input()) for _ in range(n)] for i in range(n): for j in range(n): if arr[i][j] == 'S': sx,sy = j,i if arr[i][j] == 'E': ex,ey = j,i visit = [[0]*n for .. 2023. 12. 12.
[파이썬] 백준 2665 : 미로만들기 (골드4) [파이썬] 백준 2665 : 미로만들기 (골드4) 2665번: 미로만들기 첫 줄에는 한 줄에 들어가는 방의 수 n(1 ≤ n ≤ 50)이 주어지고, 다음 n개의 줄의 각 줄마다 0과 1이 이루어진 길이가 n인 수열이 주어진다. 0은 검은 방, 1은 흰 방을 나타낸다. www.acmicpc.net 문제 풀이 방향성 생각 0이면 부수면서 부순 횟수 카운트, 1이면 그냥 이동 힙에다가 부순횟수 저장해서 push, pop 전체코드 import heapq as hq import sys input = lambda : sys.stdin.readline().rstrip() n = int(input()) arr = [list(input()) for _ in range(n)] dire = [(1,0),(0,1),(-1,0.. 2023. 12. 7.
[파이썬] 백준 17471 : 게리맨더링 (골드4) [파이썬] 백준 17471 : 게리맨더링 (골드4) 17471번: 게리맨더링 선거구를 [1, 4], [2, 3, 5, 6]으로 나누면 각 선거구의 인구는 9, 8이 된다. 인구 차이는 1이고, 이 값보다 더 작은 값으로 선거구를 나눌 수는 없다. www.acmicpc.net 문제 풀이 0. 방향성 생각 combinations로 모든 경우의 수 구하기 선택한 조합 C에 대해서 BFS를 돌려서 선택한 조합 C를 모두 순회할 수 있으면 통과 선택하지 않은 집합 C에 대해서도 선택하지 않은 집합 C가 나와야 함 둘 다 가능한 경우 정답 후보로 선정 1. 입력 from collections import deque from itertools import combinations as C import sys input.. 2023. 12. 6.