학습 본문으로 건너뛰기
VAIRODE
점과 선으로 길 찾기20번째 작은 수업
오늘은 질문 하나만 해결해요20 / 72

따라 해보기 · 직접 바꿔보기

여러 출발점을 한 줄에 넣기

오늘의 질문

보드게임 말이 같은 칸에 있어도 열쇠가 있을 때와 없을 때는 할 수 있는 일이 달라요. 무엇을 함께 적어야 두 상황을 구별할 수 있을까요?

아직 답을 몰라도 괜찮아요. 아래 작은 예시를 보고 먼저 예상해 보세요.
왜 배우는지 쉬운 설명 보기

현재 위치와 가진 조건을 한 묶음으로 적으면, 같은 칸에서도 서로 다른 상황을 구별할 수 있어요.

01 · 같이 연습해요

작은 문제부터 하나씩 직접 풀어봐요

먼저 예상하고, 한 단계씩 확인하고, 막힌 곳을 고쳐 봐요. 도움을 열어도 괜찮아요. 도움을 본 문제는 나중에 모양을 바꿔 다시 풀어보면 됩니다.

연습에서 작성 중인 답0 / 8
  1. 01

    찾아보기 · 기초

    여러 출발점을 한 줄에 넣기: 그림에서 점과 선이 무엇을 뜻하는지 먼저 골라 보세요.

    이 문제는 주어진 내용과 정답 기준을 더 만드는 중이에요. 지금 적은 답은 연습 메모로만 저장돼요.

    정답 대신 4단계 힌트 보기
    1. 먼저 볼 것

      출발점마다 BFS를 따로 돌려 큰 비용을 내거나 하나씩 넣은 순서를 거리 우선순위로 오해한다. 직전까지 참이었던 frontier/state와 처음 달라진 vertex·edge·distance/component 값을 찾으세요.

    2. 뜻 풀기

      여러 시작점(multi-source)·거리 0 source·함께 퍼지는 층(wave)를 model·algorithm·source-claim 층으로 나눠 적으세요.

    3. 다음 도움

      내 생각을 먼저 적고 ‘내 답과 맞춰 볼 기준 보기’을 누르면, 풀 순서와 더 자세한 도움을 열어 드려요.

    정답과 비교

한꺼번에 여덟 문제를 펼치지 않아요. 내 생각을 적고 맞춰 볼 기준을 확인하면 다음 문제 하나만 열립니다.

8개 답이 남았습니다.

02 · 막힌 곳을 찾아요

틀린 답에서 생각이 갈라진 첫 지점 찾기

전부 다시 풀지 않아도 돼요.괜찮아요. 전부 다시 하지 말고, 점이나 선을 다르게 본 첫 단계만 찾아보세요. 바로 앞 단계부터 다시 이어가면 돼요.

막히는 이유와 고치는 방법 자세히 보기같은 곳에서 다시 막혔을 때 필요한 설명만 펼쳐 보세요.
헷갈림 01

출발점마다 BFS를 따로 돌려 큰 비용을 내거나 하나씩 넣은 순서를 거리 우선순위로 오해한다.

겉으로 보이는 막힘
여러 출발점을 한 줄에 넣기(multi-source BFS) 구현이 일부 예시는 통과하지만 reachability·distance·order·component·flow 결과를 재현하지 못한다.
막힌 까닭
여러 시작점 BFS(multi-source BFS)는 모든 출발점을 거리 0으로 같은 queue에 먼저 넣어 가장 가까운 출발점의 layer가 함께 퍼지게 한다.을 첫 edge scan이나 state transition 전에 봉인하지 않았다.
다시 해보는 방법
세 소화전에서 불길까지의 최소 도달 시간을 한 번의 BFS로 계산하고 동률 위치를 표시한다.에서 vertex identity·edge contract·source/target·state transition을 고정하고 initial source set·queue wave·owner/distance·tie policy ledger를 다시 만든다.
헷갈림 02

최종 값만 기록하고 frontier·visited timing·parent·distance·component·residual 변화를 생략한다.

겉으로 보이는 막힘
duplicate enqueue, missed vertex, wrong route, stale priority, invalid lowlink 또는 capacity violation이 남는다.
막힌 까닭
logical answer와 algorithm state·graph representation을 분리하지 않았다.
다시 해보는 방법
initial source set·queue wave·owner/distance·tie policy ledger에 최초 divergence와 transition 전후 invariant를 함께 기록한다.
헷갈림 03

단일 synthetic trace나 abstract complexity를 특정 library constant·online judge 결과·대회 성과·production safety로 확대한다.

겉으로 보이는 막힘
대피소 거리·감염 확산·가장 가까운 서비스 지점에서 recursion overflow·integer overflow·memory spike·availability·license·scope 오류를 놓친다.
막힌 까닭
표준·알고리즘·구현·측정·competition scope를 서로 다른 claim level로 기록하지 않았다.
다시 해보는 방법
출발점마다 BFS를 따로 돌려 큰 비용을 내거나 하나씩 넣은 순서를 거리 우선순위로 오해한다. fixture의 claim을 좁히고 source version·unknown·measurement·availability를 별도 evidence로 둔다.

03 · 내게 맞는 도움 고르기

같은 목표를 원하는 도움만큼 연습해요

안내 받으며

한 단계씩

네 단계 중 지금 필요한 한 단계만 열어 천천히 따라가요.

도움을 봐도 괜찮아요.
혼자 해보기

내 힘으로

도움말을 닫고 이름과 숫자만 바뀐 작은 그림에서 같은 순서를 한 번 더 사용해요.

이름과 숫자만 바뀐 작은 문제부터 시작해요.
더 도전하기

하나 더 바꾸기

시작점이나 선 하나를 더 바꾸고, 답이 달라지는지 먼저 예상해요.

한 번에 한 가지만 바꿔요.
내게 맞는 연습 방법 자세히 보기한 단계 도움, 혼자 하기, 한 걸음 더를 쉬운 말로 나눴어요.

한 단계 도움: 그림에서 지금 볼 한 곳만 짚고, 내 생각을 먼저 고른 뒤 다음 칸을 열어요.

혼자 해보기: 도움말을 닫고 이름과 숫자만 바뀐 작은 그림에서 같은 순서를 한 번 더 사용해요.

한 걸음 더: 한 번에 약속 하나만 바꾸고 답이 어떻게 달라지는지 먼저 예상한 뒤 확인해요.