티스토리 뷰

알고리즘/백준

백준 14226 이모티콘 C++

4567은 소수 2021. 11. 4. 02:11

https://www.acmicpc.net/problem/14226

 

14226번: 이모티콘

영선이는 매우 기쁘기 때문에, 효빈이에게 스마일 이모티콘을 S개 보내려고 한다. 영선이는 이미 화면에 이모티콘 1개를 입력했다. 이제, 다음과 같은 3가지 연산만 사용해서 이모티콘을 S개 만

www.acmicpc.net

처음에 dfs로 접근했다가 단순히 클립보드에 내용을 복사하는 경우에서 시간만 카운트시켜야하는데 파라미터 조정을 생각하기가 조금 까다로웠습니다. 

그래서 bfs로 문제를 조금 바꿔 풀었습니다. (큐에 넣는 내용이나 파라미터에 넣는 내용이나 비슷하지만 처음에 1차원 배열 dp랑 섞어서 풀다보니 바꾸기가 음 좀 그랬다......)

 

큐의 원소로는 화면 개수, 클립보드 개수, 시간 이렇게 3개의 int 값을 활용합니다.

 

그리고 1,2,3번의 경우를 따져 화면 개수, 클립보드 쌍을 거치지 않은 경우 큐에 해당 시간 + 1 값을 포함하여 넣습니다. 큐에는 단순히 시간이 증가하는 경우만 들어가므로 가장 먼저 화면의 개수가 S와 일치하는 경우 시간을 리턴하면 가장 빠른 시간임을 알 수 있습니다.

 

코드는 다음과 같습니다.

 

 

'알고리즘 > 백준' 카테고리의 다른 글

백준 14466 소가 길을 건너간 이유6 c++  (0) 2021.11.18
백준 4811 알약 C++  (0) 2021.11.06
백준 16936 나3곱2 python3  (0) 2021.09.21
백준 C++ 1525 퍼즐  (0) 2021.09.20
백준 1647 도시 분할 계획 C++  (0) 2021.09.11
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
TAG
more
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함