다익스트라 : 그래프는 만들지 않았지만 이동 가능한 곳이 정해져있어서 아래쪽을 약간 변형함. 순간이동은 가중치 0, 아닌 건 가중치 1bfs : 탐색하는데 만약 check의 값이 크다면 갱신해주었다. 그래서 최단거리를 구함while 문을 이렇게 고쳐서 가중치를 표현함.
bfs를 <1. 그람이 없는 경우 2. 그람이 있는 경우> 두번 돌렸고 나눠서 코드 짬1\. 그람이 없는 경우 : 공주님에게 도착할 수 있는 경우만 최소값 연산2\. 그람이 있는 경우 : 없을 때 그람까지의 거리 + 있을 때 그람 ~ 공주까지의 거리. 이 연산은
다른 bfs와 달리 큐를 집합으로 만들고 check배열은 만들지 않음. 모든 경우를 탐색하는데 같은 경로는 탐색하지 않기 위해 check는 안쓰고 큐를 집합으로 만들어서 중복을 피해줌
1 연쇄는 1\. 터트리는 연산 : bfs로 같은 알파벳 다 찾음 -> 4개 이상이면 터트림 -> 터트릴거 없으면 종료됨2\. 중력에 의해 내려가는 연산 : 재귀로 내릴 수 있을 때까지 내린다
bfs로 돌려줌. 처음에는 DSLR연산을 문자열 처리 했는데 시간 초과 남.. 문자열 처리는 시간이 많이 걸리나보다....
명령 1, 2룰 넣어서 bfs 돌림.처음에 명령2를 이런식으로 구현해서 메모리 초과 남. 큐에 같은 값이 너무 많이 들어가고 계속 한자리에서 돌아가는 문제가 있음. check 배열을 3차원으로 해서 방향을 넣고, 180도 회전은 2번 돌아간다고 생각해줌수정해서 이렇게
코드 1번 : 밑의 반례 (게시판에서 주움) 와 같이 애초에 물과 관련 없이 이동 가능한 경우를 놓침10 15........X........XXXXX.X.....X.....X.X......X.S..X.X......D.X...X.XXXXXXX.X....X.........
점과 점 사이가 20(맥주) \* 50(맥주 한병으로 갈 수 있는 거리) = 1000미터를 넘지 않는다고 알고 bfs로 완탐
처음에 틀린 코드이유 : 영향을 받아서 익는게 동시에 일어난다고 생각해야하는데 순차적으로 일어난다고 코드를 짜서 틀림 (bfs 돌릴 때 기존의 토마토가 있던 곳은 한번에 넣고 동시에 탐색해야한다)반례 )3 3 11 1 00 0 00 0 0정답 : 3 내 출력 : 4수정
맨처음 : 파란 구슬과 빨간 구슬을 따로 따로 check 배열을 만듬 -> 경우의 수 따지기가 어려움6 7ANS: 4게시판의 반례 이거 넣어보면 틀림구멍으로 동시에 두 구슬이 들어가는 경우 종료되는 것도 고침다시 게시판에서 찾은 반례6 6answer: 6이 반례가 또
처음에는 check배열을 여러 차원으로 만들거나 정보를 여러개 저장할 생각으로 한번에 bfs를 돌려서 찾겠다고 생각했는데 쉽지 않았음bfs로 찾을 수 있는 열쇠를 모두 찾는다열쇠를 찾은 후 문서를 모두 찾는다빈칸으로 테두리 한번 패딩해줌 (들락날락할 수 있도록) ->
그냥 성의 좌표를 리스트에 넣어서 그 리스트에 있는 성들을 시작점으로해서 bfs 돌리는 간단한 생각으로 풀었는데 시간초과 -> 성들이 최대 1000의 제곱개 있는데 거기서 다시 일일이 bfs-> 시간초과tmp_castle 이라는 새로 추가된 성의 리스트 를 만들어서 그
처음에 이동 -> bfs -> 이동 ->bfs ... 이런 식으로 해서 시간 초과처음에 한번 bfs -> 깨끗한 칸, 더러운칸 서로서로 간 거리를 구함 -> dfs로 순열 구해서 최솟값 구함
무턱대고 bfs 하나하나씩 돌리면 시간 초과 (n 과 m 이 매우 큼)0개들을 그룹을 지어서 한 1에 인접한 0개들 그룹 속 인접한 0의 갯수를 다 더해줌