Notice
Recent Posts
문제 풀이 및 개발 공간
[백준] 16928번 뱀과 사다리 게임 (gold 5 본문
import java.io.*;
import java.util.*;
class Point{
int x;
int n;
public Point(int x , int n){
this.x=x;
this.n=n;
}
}
public class Main{
public static void main(String[] args) throws IOException{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st=new StringTokenizer(br.readLine());
int n=Integer.valueOf(st.nextToken());
int m=Integer.valueOf(st.nextToken());
HashMap<Integer , Integer > dict=new HashMap<>();
for(int i=0; i<n+m; i++){
st=new StringTokenizer(br.readLine());
dict.put(Integer.valueOf(st.nextToken()) , Integer.valueOf(st.nextToken()));
}
boolean[] visit=new boolean[101];
Queue<Point> que=new LinkedList<>();
que.offer(new Point(1,0));
int answer=0;
while(!que.isEmpty()){
Point temp=que.poll();
if(temp.x==100){
answer=temp.n;
break;
}
for(int i=1; i<=6; i++){
int tx=temp.x+i;
tx= dict.get(tx)==null ? tx : dict.get(tx);
if(tx>100 || visit[tx]==true){
continue;
}
visit[tx]=true;
que.offer(new Point(tx,temp.n+1));
}
}
bw.write(answer+"");
bw.flush();
}
}
'백준공부 > java' 카테고리의 다른 글
[백준] 6328번 Erdos Numbers (gold 3 (0) | 2023.09.19 |
---|---|
[백준] 4428번 Contest Scoreboard (silver 3 (0) | 2023.09.17 |
[백준] 7569번 토마토 (gold 5 (0) | 2023.09.17 |
[백준] 13975번 파일 합치기 3 (gold 4 (0) | 2023.09.16 |
[백준] 4383번 점프는 즐거워 (silver 5 (0) | 2023.09.16 |