본문 바로가기

Algorithm475

[파이썬] 백준 18128 : 치삼이의 징검다리 건너기 (골드1) [파이썬] 백준 18128 : 치삼이의 징검다리 건너기 (골드1)https://www.acmicpc.net/problem/18128풀이방향성 생각시작 / 도착 위치는 항상 밟을 수 있다는 예외처리하기.BFS로 물이 퍼져나가는 시간을 구한다.fountains에 water src를 받아놓고, flood에 물이 퍼진 시간을 기록한다.이후, 다익스트라를 사용해서 (t,x,y)를 힙에 넣는다.t는 현재가지 가장 작은 flood를 갱신하면서 힙에 넣는다. 파이썬from collections import dequeimport sysimport heapq as hqinput = lambda : sys.stdin.readline().strip()inside = lambda x,y: 0 V[y][x]: con.. 2025. 3. 3.
[파이썬] 백준 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.