반응형

BFS 2

[BOJ] 소년점프 16469.java

문제 www.acmicpc.net/problem/16469 굉장히 괜찮았던 문제이다. 어려운 문제는 아니었는데, 접근하는 방법을 조금 다르게 생각해봐야하는 좋은 문제였다. - 첫 줄에 주어진 R, C로 만들어진 map - q1, q2, q3 3명이 동시에 한 지점에 도착할 때의 최단 시간을 찾으면 된다. 해설 및 코드 코드 자체는 어렵지 않게 풀어서, 큰 주석을 붙이지는 않았다. BFS로 문제를 풀었는데, Deepening을 사용해서 한 번에 이동이 가능한 size만큼 체크를 해줬다. 어디든 갈 수 있기 때문에, 방문 할 수 있으면 무조건 True로 만들어줬다. 이후, 전체 map을 탐색해서 세 check 배열이 모두 True인 구간이 있으면 개수를 센 후에 종료해줬다. 최단만 찾으면 되니까! packa..

IT/알고리즘 2021.03.20

[이코테BOJ] 연구소 14502.java

문제 www.acmicpc.net/problem/14502 14502번: 연구소 인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다. 연구소는 크 www.acmicpc.net - DFS/BFS 문제이다. - 바이러스가 최소 개수가 될 수 있도록 벽 3개를 반드시 세워야 한다. - 시간제한이 2초로 꽤나 넉넉한 문제이다. 해설 및 코드 - 시간초과가 날까봐 쉽게 접근하지 못했던 문제이다. - 시간은 꽤 넉넉하니, 모든 경우의 수를 세면 됐었다. - 백트레킹으로 벽을 세울때/세우지 않을 때를 나눠서 3개를 세우면 바이러스를 퍼트린다. import java.util.ArrayList; impor..

IT/알고리즘 2021.03.17
반응형