implementation contract

코드 전에 네 계약을 먼저 고정한다

그래프 오답은 알고리즘보다 입력 모델을 흐리게 잡을 때 먼저 생긴다.

방향성u→v만 넣을지, v→u도 넣을지
번호 기준0-based인지 1-based인지
간선 속성가중치/라벨/시간 저장 여부
특수 간선self-loop, multi-edge 허용 여부
모델 결함흔한 증상검산 입력고정 규칙
방향 반전도달 가능성이 반대로 나옴간선 하나 1 2문제 문장에 “양방향”이 있을 때만 양쪽 삽입
번호 오프셋0번 또는 N번 정점 누락가장 작은 번호와 가장 큰 번호입력 직후 한 번만 보정
가중치 누락최단 경로 비용이 모두 1처럼 동작서로 다른 가중치 2개인접 원소를 정점이 아니라 edge로 저장
중복 간선degree/count가 과하게 증가같은 간선 두 번문제가 허용하지 않으면 set 또는 min 비용으로 병합
핵심: 그래프를 만들기 전 네 계약을 표로 닫으면, BFS/DFS/최단경로 오답의 절반이 줄어든다.