본문 바로가기

Algorithm/Graph188

[파이썬] 백준 15906 : 변신 이동 게임 (골드1) [파이썬] 백준 15906 : 변신 이동 게임 (골드1)https://www.acmicpc.net/problem/15906풀이방향성 생각일반 grid 움직임 문제 + 상태 공간 추가이다.변신모드에서는 각 방향마다 가장 가까운 워프지점이 존재하면 이동할 수 있다.변신 모드에서는 워프지점으로만 이동할 수 있다.일반 모드에서는 기본 grid 탐색처럼 진행한다.각 위치에서 이동할 수 있는 워프지점이 정해져있기 때문에, 미리 배열을 순회해서 이 정보를 저장해놓고 푸는 것도 좋아보인다 (맵이 커지면 중복탐색이 많이 발생할 가능성이 높다). 파이썬import sysimport heapq as hqinput = lambda : sys.stdin.readline().strip()inside = lambda x,y : 0.. 2025. 3. 3.
[파이썬] 백준 10776 : 제국 (골드1) [파이썬] 백준 10776 : 제국 (골드1)https://www.acmicpc.net/problem/10776풀이방향성 생각같은 node라도 현재 뗏목의 상태에 따라서 다른 상태로 취급한다.V에 사용되는 state를 node, hp로 만든다. (입력이 작게 주어지는 이유가 있다. 차원 늘리라고) 전체코드import sysimport heapq as hqinput = lambda : sys.stdin.readline().strip()INF = float('inf')# 그래프 추가K,N,M = map(int,input().split())G = [[] for _ in range(N+1)]for _ in range(M): a,b,t,h = map(int,input().split()) G[a].app.. 2025. 3. 2.
[파이썬] 백준 18224 : 미로에 갇힌 건우 (골드1) [파이썬] 백준 18224 : 미로에 갇힌 건우 (골드1)https://www.acmicpc.net/problem/18224풀이방향성 생각다른 BFS 문제와 다르게 기다리는 로직을 구현하는 것이 아니라, 움직여야만 시간이 흘러가는 문제이다.밤이라고 해서, 모두 같은 밤은 아니다.밤이어도 움직인 횟수에 따라서 벽을 건넌 후에 움직임이 달라질 수 있다.배열을 2*M (cycle)만큼 차원을 늘려서 만든다나머지는 비슷하게 BFS로 구현현재가 밤인 경우 다른 미끄러지는 문제처럼 nnx,nny를 두고 while문에서 조건 처리 전체코드from collections import dequeimport sysinput = lambda : sys.stdin.readline().strip()inside = lambda x.. 2025. 3. 1.
[파이썬, 자바] 백준 28707 : 배열 정렬 (골드1) [파이썬, 자바] 백준 28707 : 배열 정렬 (골드1)https://www.acmicpc.net/problem/28707풀이방향성 생각입력에 들어오는 숫자가 1부터 10이라 문자열로 변환하면 10이 인덱스 크기에 영향을 줄 수 있다.입력에 숫자가 들어올 때 -1을 빼주기.쿼리도 인덱스를 맞춰주기 위해 l,r에 각각 1씩 빼주기.리스트/배열 저장 대신 문자열로 변환해서 set에 저장하기.간선 크기가 달라서 BFS 대신 다익스트라 사용 파이썬# defaultdict로 초기값 INF로 저장장from collections import defaultdict as ddimport heapq as hqINF = float('inf')N = int(input())arr = list(map(lambda x : str.. 2025. 2. 27.