[アルゴリズム]伯俊>#10552.DOM
1269 ワード
質問リンク
白駿#10552。DOM
解答方法
これはとても簡単なDFS問題です!「とても簡単」な理由は、幹線が1本しかないか、1本もないからです!特定のチャンネルが苦手な人は多いかもしれませんが、チャンネルを変えるために立ち上がった人は最小の一人なので、最小の一人を記憶して考えるだけですほほほ、もう一度視聴したチャンネルにアクセスすれば、ループ-1出力と判断できます!簡単な質問ですね~
コード#コード#
白駿#10552。DOM
解答方法
これはとても簡単なDFS問題です!「とても簡単」な理由は、幹線が1本しかないか、1本もないからです!特定のチャンネルが苦手な人は多いかもしれませんが、チャンネルを変えるために立ち上がった人は最小の一人なので、最小の一人を記憶して考えるだけですほほほ、もう一度視聴したチャンネルにアクセスすれば、ループ-1出力と判断できます!簡単な質問ですね~
コード#コード#
import java.util.*;
public class BOJ10552 {
static int count = 0;
static int[] toFavouriteCH = new int[100000 + 1];
static boolean[] visited = new boolean[100000 + 1];
static public void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt(); // 시청자 수
int m = sc.nextInt(); // 채널 수 1 to m
int p = sc.nextInt(); // 최초 채널
while(--n >= 0) {
int favouriteCH = sc.nextInt();
int hatedCH = sc.nextInt();
if (toFavouriteCH[hatedCH] == 0) toFavouriteCH[hatedCH] = favouriteCH;
}
changeChannel(p);
System.out.print(count);
}
static public void changeChannel(int ch) {
if (visited[ch]) count = -1;
else if (toFavouriteCH[ch] != 0) {
count++;
visited[ch] = true;
changeChannel(toFavouriteCH[ch]);
}
}
}
Reference
この問題について([アルゴリズム]伯俊>#10552.DOM), 我々は、より多くの情報をここで見つけました https://velog.io/@cchloe2311/알고리즘-백준-10552.-DOMテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol