5014번

· 백준
코드#include #include using namespace std;int f,s,g,u,d, visited[1000004],res = -1;// 적어도 -> 최단거리. 1차원 배열에서의 최단거리// 가중치가 없으므로 bfs 사용// 1번도 안움직여도 되는 경우가 있음// res는 -1로 초기화int main() { // f는 최대 높이, s는 현위치, g는 목표지점, u위 d 아래 cin >> f >> s >> g >> u >> d; queue q; q.push(s); visited[s] = 1; while(q.size()) { int pn = q.front(); if(pn == g) { res = visited[pn] -..
· 백준
코드 from collections import deque # 적어도 몇 번 => 최소 몇 번 => bfs 사용 결정 f,s,g,u,d = map(int, input().split()) queue = deque([s]) # 현재 층 check = [0] * (f+1) # 몇 번째인지 확인해줄 친구 check[s] = 1 # 방문체크 while queue: popnum = queue.popleft() for i in [popnum+u, popnum-d]: try: if i> 0 and check[i] == 0: # 인덱스 에러가 날 수 있어서 예외처리. 에러가 나면 continue로 넘겨주었음 check[i] = check[popnum] + 1 queue.append(i) except: continue p..