본문 바로가기

백준/그래프83

백준 16954 c++ "움직이는 미로 탈출" -[PlusUltraCode] #include #include #include #include #include using namespace std; int dx[8] = { 1,1,0,-1,-1,-1,0,1 }; int dy[8] = { 0,1,1,1,0,-1,-1, - 1 }; typedef pair Node; int N = 8; int Wall = 0; vector Arr; vector GameVec; void Print() { for (int i = 0; i = 0 && garo < N)return true; return false; } void BFS() { queue myQueue; myQueue... 2024. 3. 20.
백준 17142 c++ "연구소 3" -[PlusUltraCode] https://www.acmicpc.net/problem/17142 17142번: 연구소 3 인체에 치명적인 바이러스를 연구하던 연구소에 승원이가 침입했고, 바이러스를 유출하려고 한다. 바이러스는 활성 상태와 비활성 상태가 있다. 가장 처음에 모든 바이러스는 비활성 상태이고, www.acmicpc.net [필자 사고] BFS 구현문제이다. 문제에서 조심해야 되는 부분이 많은 문제다. 4 1 1 1 1 1 0 2 2 0 1 1 1 1 1 1 1 1 이러한 경우는 답이 2초다. 1초가 아니다. 이 부분에서 답이 틀린 이유는 이미 존재하는 비활성화 상태인 바이러스와 만날경우에 대한 로직을 잘못 짯을 것이다. 이 문제에서 요구하는 비활성화 상태인 바이러스와 만나면 그냥 원래 시간에서 +1해주면 된다. 깊게 고민.. 2024. 3. 19.
백준 c++ 21609 "상어 중학교" -[PlusUltraCode] https://www.acmicpc.net/problem/21609 21609번: 상어 중학교상어 중학교의 코딩 동아리에서 게임을 만들었다. 이 게임은 크기가 N×N인 격자에서 진행되고, 초기에 격자의 모든 칸에는 블록이 하나씩 들어있고, 블록은 검은색 블록, 무지개 블록, 일반 블록www.acmicpc.net [필자 사고]BFS 구현문제다.조건들이 어마무시해서 한글자라도 잘못 읽으면 골로가는 문제다.중요 조건들은 독자들이 잘 읽기를 바라며 이 문제에서 챙겨야 되는 핵심 개념들을 공부해 보겠다. 먼저 vector를 이용한 정렬 시스템 정의다. bool cmp(Node a , Node b){ }  형태로 작성된다. return true 형태로 작성하면 a 랑 b 형태로 순서가 되고return false 형.. 2024. 3. 18.
백준 16933 c++ "벽 부수고 이동하기 3" -[PlusUltraCode] https://www.acmicpc.net/problem/16933 16933번: 벽 부수고 이동하기 3 첫째 줄에 N(1 ≤ N ≤ 1,000), M(1 ≤ M ≤ 1,000), K(1 ≤ K ≤ 10)이 주어진다. 다음 N개의 줄에 M개의 숫자로 맵이 주어진다. (1, 1)과 (N, M)은 항상 0이라고 가정하자. www.acmicpc.net [필자 사고] 이 문제는 너비우선 탐색을 이용한 BFS탐색 문제이다. 벽 부수고 이동하기1,2를 풀어 봤을 것이다. 벽 부수고 시리즈의 공통점은 1이라는 해당 장애물이 있어 능력을 이용해 이 벽을 부술지 말지 결정하는거다. 다른 문제와 다르게 이 문제만의 특이한 점은 밤과 낮에 행동하는 방식이 다르다는 점이다. 필자는 처음에 밤과 낮에 따라 방문되는 지점이 다른.. 2024. 3. 14.