본문 바로가기

PS27

[백준] 14442번: 벽 부수고 이동하기2 파이썬 https://www.acmicpc.net/problem/14442벽 부수고 이동하기 1에서 살짝만 수정하면 될줄 알았는데... 시간초과라니? 파이썬이 느리긴 느린가보다.파이썬으로 정답인 사람이 아무도 없네 pypy3로 바꿔서 제출. ....? 시간초과 https://www.acmicpc.net/board/view/111938이 글 보고 배열 차원 선언 순서를 바꿔서 다시 제출하니 성공했다.배열차원 순서에 따라 이렇게 차이가 나는건 처음 알았다.....또 배우고 갑니다.... 코드import sysfrom collections import dequedx = [1, 0, -1, 0]dy = [0, 1, 0, -1]def bfs(): q = deque() q.append((0, 0, 0)) # x, y,.. 2024. 6. 27.
[백준] 2206번: 벽 부수고 이동하기 파이썬 https://www.acmicpc.net/problem/2206 어렵다벽을 한번은 부술수있는데이걸 어떻게 구현해야할지 도저히 떠오르지 않아서...힌트글 에서 3차원 배열로 방문여부까지 큐에 저장해야한다는 걸 보고 겨우 풀었다. 풀이import sysfrom collections import dequedx = [1, 0, -1, 0]dy = [0, 1, 0, -1]def bfs(): q = deque() q.append((0, 0, 0)) # x, y, 벽 파괴 여부 dist[0][0][0] = 1 while q: x, y, z = q.popleft() for i in range(4): nx = x + dx[i] ny = y + dy[i] if 0  이동칸을 .. 2024. 6. 26.
[백준] 7562번: 나이트의 이동 https://www.acmicpc.net/problem/7562 bfs문제인데 탐색을 나이트가 이동할 수있는 칸으로 하면된다. 이거 풀다가 바보 같이 헤멨다여기서 체스판 가로세로 길이를 i로 주는데바보 같이 bfs 함수내에서 for문을 i로 돌림......................바본가 풀이import sysfrom collections import dequedx = [-1, -2, 1, 2, -1, -2, 1, 2]dy = [2, 1, 2, 1, -2, -1, -2, -1]def knight(fx,fy,gx,gy): if fx == gx and fy == gy: return 0 q = deque() q.append((fx,fy)) chess[fx][fy] = 0 while q: .. 2024. 6. 26.
[백준] 10026번: 적록색맹 파이썬 https://www.acmicpc.net/problem/10026쉽다.그냥 bfs를 두번 쓰면된다. 근데 적록색맹인 경우를 처리하는 방법이 여러가지일거같은데그냥 배열에서 R을 G로 바꿔버린 후 bfs를 하는 방법도있고.... 나는 그냥 bfs에 조건 추가해서 구현했다. import sysfrom collections import dequedx = [1, -1, 0, 0]dy = [0, 0, 1, -1]def bfs(a, b, check): q = deque() q.append((a, b)) dis[a][b] = 1 while q: x, y = q.popleft() for i in range(4): nx = x + dx[i] ny = y + dy[i] if 0.. 2024. 6. 25.