数がある。
数には子供がいる。子供は「その数の約数+1、ただし、2より大きくその数より小さいもの」だ。
例えば。50 の約数は{
1, 2, 5, 10, 25, 50
}。
約数+1 は、{
2, 3, 6, 11, 26, 51
}。
これらのうち、2よりも大きく、50よりも小さいものは
{
3, 6, 11, 26
} なので、これが 50 の子供たち。
子供にはまた子供が、その子供にはまた子供がいたりいなかったりして、ツリーになる。
で。
ツリーの中にある数の距離を「親子関係の線で辿ったときの線の本数の最小値」で定義する。
たとえば、根が 50 のツリーの中では、
となる。
で。ツリーの根となる数と、ツリー内にある2つの数を与える。2つの数の距離を計算せよ。
入力は
50:6,3
こんな感じ。
コロンの前が根の値。コロンの後にコンマ区切りで2つの数。
出力は簡単。2数の距離を 10進数で出せば良い。
先ほどの入力の場合、線をたどればわかる通り、
1
と出力すればよい。
# | 入力 | 期待 | 状況へのリンク |
---|---|---|---|
0 |
50:6,3
|
1
|
リンク |
1 |
98:5,11
|
4
|
リンク |
2 |
1000:33,20
|
7
|
リンク |
3 |
514:9,18
|
8
|
リンク |
4 |
961:5,4
|
3
|
リンク |
5 |
1369:1369,3
|
2
|
リンク |
6 |
258:16,12
|
5
|
リンク |
7 |
235:13,3
|
2
|
リンク |
8 |
1096:19,17
|
8
|
リンク |
9 |
847:7,17
|
6
|
リンク |
10 |
1932:3,5
|
2
|
リンク |
11 |
2491:4,8
|
3
|
リンク |
12 |
840:421,36
|
2
|
リンク |
13 |
1430:37,111
|
3
|
リンク |
14 |
496:17,9
|
2
|
リンク |
15 |
891:6,10
|
1
|
リンク |
16 |
1560:196,21
|
2
|
リンク |
17 |
516:20,12
|
5
|
リンク |
18 |
696:30,59
|
2
|
リンク |
19 |
1760:5,441
|
2
|
リンク |
20 |
1736:11,26
|
5
|
リンク |
21 |
1518:17,34
|
4
|
リンク |
22 |
806:63,16
|
5
|
リンク |
23 |
1920:3,97
|
2
|
リンク |
24 |
1150:13,22
|
4
|
リンク |
25 |
920:116,5
|
1
|
リンク |
26 |
2016:7,337
|
2
|
リンク |
27 |
408:9,25
|
2
|
リンク |
28 |
735:36,8
|
2
|
リンク |
29 |
470:5,31
|
2
|
リンク |
30 |
2100:12,351
|
3
|
リンク |
31 |
870:36,10
|
1
|
リンク |
32 |
1512:253,13
|
2
|
リンク |
33 |
697:12,15
|
3
|
リンク |
34 |
1224:5,14
|
2
|
リンク |
35 |
986:125,17
|
3
|
リンク |
36 |
864:12,13
|
3
|
リンク |
37 |
500:21,51
|
2
|
リンク |
38 |
819:33,21
|
4
|
リンク |
39 |
594:55,3
|
2
|
リンク |
40 |
638:17,24
|
3
|
リンク |