광규니
광규니네
광규니
전체 방문자
오늘
어제
  • 분류 전체보기 (154)
    • 알고리즘 (100)
      • 알고리즘 개념 (2)
      • 문제 풀이 (96)
    • 주절주절 (19)
      • 자격증, 활동 후기 (4)
      • 전시회 후기 (3)
      • 이모저모 (2)
      • 회고 (3)
      • 뜨럼 (7)
    • 운영체제 (9)
    • 개발 지식 (9)
      • Apple Watch (4)
      • MySQL (2)
      • Eclipse (1)
      • XCode (1)
    • 네트워크 공부 (1)
    • 데이터베이스 공부 (5)
    • Java 공부 (7)
    • TMP (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 개념
  • 자바
  • 드린이
  • 컴퓨터 사이언스
  • 운영체제
  • 다이나믹 프로그래밍
  • 티스토리챌린지
  • BOJ
  • 합주
  • 백준
  • 프로그래머스
  • 애플워치 앱 만들기
  • 알고리즘
  • BFS
  • 구현
  • 파이썬
  • 애플워치 앱
  • DP
  • OS
  • 오블완

최근 댓글

최근 글

티스토리

250x250
hELLO · Designed By 정상우.
광규니

광규니네

알고리즘/문제 풀이

[Python/파이썬 백준 5104] 스타트링크(BFS)

2021. 3. 4. 15:02
반응형

www.acmicpc.net/problem/5014

 

5014번: 스타트링크

첫째 줄에 F, S, G, U, D가 주어진다. (1 ≤ S, G ≤ F ≤ 1000000, 0 ≤ U, D ≤ 1000000) 건물은 1층부터 시작하고, 가장 높은 층은 F층이다.

www.acmicpc.net

풀이

일차원 BFS 문제입니다.

S,G 를 start, end값으로 선언했으며

U,D 을 dx 값에 +U 와 , -D 를 넣어줬습니다

check 값을 비교해서 queue에 삽입되면 +1씩 시켜줬으며 check[end]를 반환시켜줘서

출력시켰어용~~

# 스타트링크

# 일차원 BFS 문제이며, U,D 을 nx 값에 넣어줘서
# check 해당 값 출력
from collections import deque
import sys
input=sys.stdin.readline

F,S,G,U,D = map(int,input().split())
dx =[U,-D]
graph=[[] for _ in range(F)]
check=[-1 for _ in range(F)]


def bfs(start,end):
    queue=deque()
    queue.append(start)
    check[start]=0
    while queue:
        x=queue.popleft()
        for i in range(2):
            nx= x +dx[i]
            if 0<=nx<len(graph) and check[nx]==-1:
                queue.append(nx)
                check[nx]=check[x]+1
    return check[end]
cnt=bfs(S-1,G-1)

if cnt==-1:
    print("use the stairs")
else:
    print(cnt)
반응형

'알고리즘 > 문제 풀이' 카테고리의 다른 글

[Python/파이썬 백준 13460] 구슬탈출2 (BFS)  (0) 2021.03.09
[Python/파이썬 백준 2468] 안전 영역(BFS)  (0) 2021.03.04
[Python/파이썬 백준 2206] 벽 부수고 이동하기(BFS)  (0) 2021.03.02
[Python/파이썬 백준 1012] 유기농 배추(BFS)  (0) 2021.02.25
[Python/파이썬, Java/자바 백준 7576] 토마토(BFS)  (0) 2021.02.24
    '알고리즘/문제 풀이' 카테고리의 다른 글
    • [Python/파이썬 백준 13460] 구슬탈출2 (BFS)
    • [Python/파이썬 백준 2468] 안전 영역(BFS)
    • [Python/파이썬 백준 2206] 벽 부수고 이동하기(BFS)
    • [Python/파이썬 백준 1012] 유기농 배추(BFS)
    광규니
    광규니
    공부 및 일상 올리기~

    티스토리툴바