백준 16928번(Java)

박은지·2025년 6월 12일
0

백준

목록 보기
85/89
post-thumbnail

import java.io.*;
import java.util.*;
public class Main{
    static int arr[],N,M;
    static boolean visit[];
    public static void main(String[] args)throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = new StringTokenizer(br.readLine());
        N = Integer.parseInt(st.nextToken());
        M = Integer.parseInt(st.nextToken());
        arr = new int[101];
        visit = new boolean[101];
        
        for(int i=0; i<N+M; i++){
            st = new StringTokenizer(br.readLine());
            int x =Integer.parseInt(st.nextToken());
            int y =Integer.parseInt(st.nextToken());
            arr[x]=y;
        }
        
        bfs(1);
    }
    static void bfs(int start){
        Queue<int[]>q=new LinkedList<>();
        q.add(new int[]{start,0});
        visit[start]=true;
        
        while(!q.isEmpty()){
            int p[] = q.poll();
            
            if(p[0]==100){
                System.out.println(p[1]);
                return;
            }
            
            for(int i=1; i<7; i++){
                int next = p[0]+i;
                if(next<=100){
                    if(arr[next]!=0){
                        next = arr[next];
                    }
                    if(!visit[next]){
                        visit[next] = true;
                        q.add(new int[]{next,p[1]+1});
                        
                    }
                }
            }
        }
    }
}
profile
백엔드 개발자가 되고싶은 eunzi😊

0개의 댓글