본문 바로가기

알고리즘/BFS5

숨바꼭질3 숨바꼭질 3 백준 13549번 문제 https://www.acmicpc.net/problem/13549 13549번: 숨바꼭질 3 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net 1. 문제 2. 풀이 2.1 풀이 방법 이 문제는 다음 노드로 이동(걷거나 순간이동)할 때의 가중치가 1 또는 0으로 균일하지 않다. BFS로 풀 수 있는 문제들은 가중치가 균일해서 Queue에 가중치 합이 작은 순으로 순차적으로 들어오게 되어있다. 그러나 이 문제는 가중치가 균일하지 않기 때문에 일반적인 BFS 방식으로 문제를.. 2023. 1. 9.
퍼-즐 퍼-즐 백준 1525번 문제 https://www.acmicpc.net/problem/1525 1525번: 퍼즐 세 줄에 걸쳐서 표에 채워져 있는 아홉 개의 수가 주어진다. 한 줄에 세 개의 수가 주어지며, 빈 칸은 0으로 나타낸다. www.acmicpc.net 1. 문제 2. 풀이 2.1 풀이 방법 우선 나는 2차 배열인 퍼즐을 1차 배열로 변환하고 문제를 풀었다. 문제를 풀 때, 주어진 퍼즐의 원소를 이동시켜야 하는데 2차 배열보다는 1차 배열이 다루기 더 쉬울 거 같았기 때문이다. 2차 배열의 각 위치를 1차 배열로 표현할 수 있기 때문에 1차 배열로 변환해서 문제를 푸는데 전혀 문제가 되지 않는다. [1차 배열로 변환] 문제는 간단하다 목표 상태에 도달하기 위한 행위의 최솟값을 구하는 것이기 때문.. 2023. 1. 2.
이-모티콘 이-모티콘 백준 14226번 문제 https://www.acmicpc.net/problem/14226 14226번: 이모티콘 영선이는 매우 기쁘기 때문에, 효빈이에게 스마일 이모티콘을 S개 보내려고 한다. 영선이는 이미 화면에 이모티콘 1개를 입력했다. 이제, 다음과 같은 3가지 연산만 사용해서 이모티콘을 S개 만 www.acmicpc.net 1. 문제 2. 풀이 2.1 풀이 방법 주어진 조건에서 1초간 할 수 있는 일은 다음과 같이 3가지가 있다. ● 화면의 이모티콘을 복사해서 클립보드에 붙여 넣기 ● 클립보드에 있는 이모티콘 화면에 붙이기 ● 화면에 있는 이모티콘 1개 삭제하기 [노드와 분기] screen은 화면에 나타나는 이모티콘의 개수, clip은 클립보드에 저장된 이모티콘의 개수, time은 해.. 2022. 8. 5.
아기 상-어 아기 상-어 백준 16236번 문제 https://www.acmicpc.net/problem/16236 16236번: 아기 상어 N×N 크기의 공간에 물고기 M마리와 아기 상어 1마리가 있다. 공간은 1×1 크기의 정사각형 칸으로 나누어져 있다. 한 칸에는 물고기가 최대 1마리 존재한다. 아기 상어와 물고기는 모두 크기를 가 www.acmicpc.net 1. 문제 문제 N×N 크기의 공간에 물고기 M마리와 아기 상어 1마리가 있다. 공간은 1×1 크기의 정사각형 칸으로 나누어져 있다. 한 칸에는 물고기가 최대 1마리 존재한다. 아기 상어와 물고기는 모두 크기를 가지고 있고, 이 크기는 자연수이다. 가장 처음에 아기 상어의 크기는 2이고, 아기 상어는 1초에 상하좌우로 인접한 한 칸씩 이동한다. 아기 상어.. 2022. 5. 16.