inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Giới thiệu về giải quyết vấn đề thuật toán Java: Chuẩn bị cho các bài kiểm tra mã hóa

친구인가?(Union&Find) 첫 case1에서 타임리밋뜨는 이유

315

widebit1278146

1 câu hỏi đã được viết

0

채점 결과 태스트 케이스2~5까지는 정답으로 나옵니다.

4개 모두 200ms안에 끝납니다

반면에 가장 테스트 케이스 크기가 작을 case1에서는 타임리밋이 뜹니다

이유는 무엇이고 해결책은 무엇일까요?

import java.util.*;

public class Main {
	static String answer = "NO";
	static int N,M;
	static int[] ch,dis;
	public void BFS(int t1, int t2, ArrayList<ArrayList<Integer>> arr) {
		Queue<Integer> Q = new LinkedList<>();
		Loop:for(int i = 1;i<=N;i++) {
			if(ch[i] == 0) {
				Q.offer(i);
				while(!Q.isEmpty()) {
					int tmp = Q.poll();
					ch[tmp] = 1;
					dis[tmp] = 1;
					if(dis[t1] == 1 && dis[t2]==1) {
						answer = "YES";
						break Loop;
					}
					int len = arr.get(tmp).size();
					for(int j = 0;j<len;j++) {
						int n = arr.get(tmp).get(j);
						Q.offer(n);
					}
				}
				Arrays.fill(dis, 0);
			}
		}
	}
	
  public static void main(String[] args){
    Scanner in=new Scanner(System.in);
    N = in.nextInt();
    M = in.nextInt();
    ch = new int[N+1];
    dis = new int[N+1];
    ArrayList<ArrayList<Integer>> arr = new ArrayList<>();
    for(int i = 0;i<=N;i++) {
    	arr.add(new ArrayList<Integer>());
    }
    for(int i = 0;i<M;i++) {
    	int a = in.nextInt();
    	int b= in.nextInt();
    	arr.get(a).add(b);
    }
    int t1 = in.nextInt();
    int t2 = in.nextInt();
    Main T = new Main();
    T.BFS(t1, t2, arr);
    System.out.print(answer);
  }
}

java 코테 준비 같이 해요!

Câu trả lời 1

0

codingcamp

안녕하세요^^

테스트케이스 1번입니다. 디버스해보세요.

20 22
18 9
4 15
12 16
9 10
10 7
14 9
13 3
17 5
6 1
1 14
12 4
9 11
7 5
17 4
6 17
12 9
18 10
17 8
11 18
7 19
4 3
3 4
10 15

안녕하세요. 바뀐 채점사이트 관련해서 문의드립니다.

0

19

1

갑자기 채점 사이트가 바뀌었어요

0

19

1

문제 리스트 페이지

0

22

1

채점 사이트 관련 질문드립니다

0

20

1

봉우리 문제 질문입니다

0

78

2

씨름 선수 문제에서 각 선수의 몸무게나 키가 같을 수도 있다면?

0

62

0

이 코드랑 영상 코드중에 뭐가 더 좋은 코드인가요?

0

70

0

가중치 방향 그래프에서 가중치가 0인 간선을 표현하는 방법

0

67

1

좌표 정렬 문제 이 코드가 왜 틀린지 모르겠습니다 ㅠㅠ

0

83

2

6-7 강의에서

0

47

1

6-6. 장난꾸러기 질문 있습니다.

0

43

1

강의 수강후 코딩테스트

0

106

1

answer 변수 사용 여부

0

43

1

2중 for문

1

83

2

2-11. 임시반장정하기 (Runtime Error)

0

62

1

혹시 LinkedList 같은 자료 구조들은 따로 배우지 않나요?

0

68

1

이런 풀이는 어떨까요

0

42

1

자바 스트림 방식의 효율성 질문 드립니다.

0

55

1

알고리즘 자료 구조들..

0

60

1

StringBuilder vs BufferdWriter

0

47

1

원더랜드(프림)

0

47

1

이런 코드는 어떤가요?

0

59

1

bfs 풀이

0

56

1

병합정렬

0

55

1