생명과학부 랩 인턴
단순 시뮬레이션이다 보니 생각보니 오래 걸리지 않았습니다. import sys n, m, k = map(int, sys.stdin.readline().strip().split()) graph = [[ [] for _ in range(m) ] for _ in range(n) ] g_infos = [] dx, dy = [0, 0, 1, -1], [-1, 1, 0, 0] answer = 0 for _ in range(k): x, y, s, d, b = map(int, sys.stdin.readline().strip().split()) graph[x - 1][y - 1].append([s, d - 1, b]) g_infos.append([x - 1, y - 1, s, d - 1, b]) def fight_g()..
2개의 사탕
백트래킹 없이는 시간 초과가 나는 문제였습니다. 그래서 딕셔너리에 현재의 위치와 방향을 key로 그리고 움직인 횟수를 value 갱신해줬더니 풀렸습니다. 헿 import sys, copy, math from collections import deque n, m = map(int, sys.stdin.readline().strip().split()) graph = [list(sys.stdin.readline().strip()) for _ in range(n)] answer = math.inf b_y, b_x = 0, 0 r_y, r_x = 0, 0 g_y, g_x = 0, 0 dy, dx = [-1, 0, 1, 0], [0, 1, 0, -1] move_dict = {} def find_first_candy(..
팩맨
지옥을 봤다....12시간 동안 풀었다... 엣지 케이스보다 '설계를 어떻게 할까?' 할 때 기본적인 사고 부터 틀려서 개고생해버렸다. dfs를 bfs로 봐꾸는 것도 중요하지만 결국 반복적인 append, pop 작업을 dictionary로 덧뺄셈으로 바꿔서 통과했던 케이스. import sys, copy, heapq from collections import deque from collections import defaultdict m, t = map(int, sys.stdin.readline().strip().split()) r, c = map(int, sys.stdin.readline().strip().split()) dy, dx = [-1, -1, 0, 1, 1, 1, 0, -1], [0, -1,..