1. paizaラーニングトップ
  2. レベルアップ問題集
  3. Aランクレベルアップメニュー(言語選択)
  4. 問題一覧 Kotlin編
  5. 連結の判定 Kotlin編

Aランクレベルアップメニューのアイコン
連結の判定 Kotlin編(paizaランク A 相当)

問題にチャレンジして、ユーザー同士で解答を教え合ったり、コードを公開してみよう!

問題

下記の問題をプログラミングしてみよう!

グラフの任意の頂点 i , j について、 i から j に辺を通ってたどり着けるとき、そのグラフは連結であるといいます。






グラフの頂点と辺についての情報が与えられるので、このグラフが連結であるかどうかを判別してください。

連結である場合には "YES" , そうでない場合は "NO" を出力してください。

なお、このグラフには、多重辺や自己ループはないものとします。

入力される値

N M    
a_1 b_1
...
a_M b_M


・ 1 行目には頂点の数を表す整数 N , 辺の数を表す整数 M が与えられます。
・ 続く M 行では、辺の両端の頂点 a_i , b_i が与えられます。 (1 ≦ i ≦ M)


入力値最終行の末尾に改行が1つ入ります。
文字列は標準入力から渡されます。 標準入力からの値取得方法はこちらをご確認ください
期待する出力

1 行の出力

・ 連結である場合には "YES" そうでない場合は "NO" を出力してください。

YES


または

NO

条件

すべてのテストケースにおいて、以下の条件をみたします。
・ 1 ≦ N ≦ 100
・ 1 ≦ M ≦ N × (N-1)/2
・ 1 ≦ a_i, b_i ≦ N

入力例1

4 2
1 2
3 2

出力例1

NO

入力例2

100 183
68 61
42 61
64 73
78 11
91 31
82 19
26 47
11 81
79 73
64 94
17 85
1 34
93 73
99 10
57 4
30 85
16 6
85 62
80 69
45 20
2 96
90 28
21 27
74 65
15 90
2 46
61 91
93 46
50 38
53 37
24 57
43 36
53 15
56 19
97 36
46 95
45 100
43 40
58 50
32 26
58 92
76 59
29 60
18 80
45 8
56 86
28 49
42 52
96 48
93 53
84 39
23 27
35 52
74 60
93 23
54 1
71 47
84 13
41 2
54 30
13 56
81 75
20 33
25 61
89 90
1 17
24 9
88 14
46 26
41 32
74 63
44 49
5 49
98 46
12 13
41 85
62 76
35 34
55 94
79 57
23 4
26 54
71 3
35 98
75 16
92 38
87 78
80 10
51 56
72 93
99 1
2 78
74 11
31 11
9 15
12 23
66 23
24 60
55 49
85 92
57 75
7 83
87 31
93 31
45 11
10 49
99 50
45 15
83 86
4 74
14 79
5 89
99 12
6 39
90 86
64 47
22 95
84 18
13 22
21 73
8 22
7 100
15 21
50 94
53 68
17 12
83 81
62 37
11 44
2 74
71 91
29 52
18 77
90 78
71 58
93 76
75 54
16 11
44 87
71 42
61 30
77 61
28 54
5 10
58 19
21 67
69 15
8 28
62 83
30 64
33 34
48 50
31 60
87 97
43 7
42 36
38 27
86 14
30 35
10 1
95 53
3 5
64 4
16 73
46 6
28 35
94 75
71 79
95 48
50 49
72 51
86 11
99 35
41 49
10 4
99 8
70 79
97 49
67 94
24 28
1 83
76 28
27 36

出力例2

YES

問題一覧へ戻る

ページの先頭へ戻る