下図のように、5×5 のマス目があり、どのマスにも 0〜9 の数字が入っている。
このマス目の適当な場所から上下左右にたどり、どんどん増えていく数列(狭義単調増加列)を作ることを考える。
たとえば、上図の緑や青の線のようにたどると狭義単調増加列になる。
で。
入力で与えられる数の配置の上で作ることができる狭義単調増加列のなかで、もっとも要素数が多いものの要素数を計算するプログラムを書け。
入力は
01224/82925/69076/32298/21065
こんな感じ。
マス目は 5×5 固定になっていて、横書きの普通の順序で数を並べてある。
行の境目にはスラッシュ
/
がある。
出力は、くねくねたとどって作ることができる狭義単調増加列のなかで、最長のものの長さ。
この例だと最長のものは
0,1,2,3,6,8
などなので、出力はふつうに 10 進数で。
6
こんな感じ。
# | 入力 | 期待 | 例 | 経路 |
---|---|---|---|---|
0 |
01224/82925/69076/32298/21065
|
6
|
0,1,2,3,6,8
|
|
1 |
03478/12569/03478/12569/03478
|
10
|
0,1,2,3,4,5,6,7,8,9
|
|
2 |
09900/28127/87036/76545/87650
|
10
|
0,1,2,3,4,5,6,7,8,9
|
|
3 |
77777/77777/77777/77777/77777
|
1
|
7
|
|
4 |
00000/11111/22222/33333/44444
|
5
|
0,1,2,3,4
|
|
5 |
01234/12345/23456/34567/45678
|
9
|
0,1,2,3,4,5,6,7,8
|
|
6 |
10135/21245/43456/55567/77789
|
8
|
0,1,2,4,5,7,8,9
|
|
7 |
33333/33333/55555/55555/77777
|
2
|
3,5
|
|
8 |
01234/11234/22234/33334/44444
|
5
|
0,1,2,3,4
|
|
9 |
98765/88765/77765/66665/55555
|
5
|
5,6,7,8,9
|
|
10 |
01234/10325/23016/32107/45670
|
8
|
0,1,2,3,4,5,6,7
|
|
11 |
34343/43434/34343/43434/34343
|
2
|
3,4
|
|
12 |
14714/41177/71141/17414/47141
|
3
|
1,4,7
|
|
13 |
13891/31983/89138/98319/13891
|
4
|
1,3,8,9
|
|
14 |
01369/36901/90136/13690/69013
|
5
|
0,1,3,6,9
|
|
15 |
02468/24689/46898/68986/89864
|
6
|
0,2,4,6,8,9
|
|
16 |
86420/68642/46864/24686/02468
|
5
|
0,2,4,6,8
|
|
17 |
77777/75557/75357/75557/77777
|
3
|
3,5,7
|
|
18 |
53135/33133/11111/33133/53135
|
3
|
1,3,5
|
|
19 |
01356/23501/45024/61246/13461
|
5
|
0,1,3,5,6
|
|
20 |
46803/68025/91358/34792/78136
|
4
|
0,3,5,8
|
|
21 |
66788/56789/55799/43210/33211
|
9
|
0,1,2,3,5,6,7,8,9
|
|
22 |
40000/94321/96433/97644/98654
|
9
|
0,1,2,3,4,6,7,8,9
|
|
23 |
58950/01769/24524/24779/17069
|
6
|
0,2,4,5,7,9
|
|
24 |
97691/01883/98736/51934/81403
|
4
|
0,3,4,6
|
|
25 |
92049/27798/69377/45936/80277
|
5
|
3,6,7,8,9
|
|
26 |
97308/77113/08645/62578/44774
|
5
|
0,1,4,6,8
|
|
27 |
90207/17984/01982/31272/60926
|
6
|
0,1,2,7,8,9
|
|
28 |
62770/65146/06512/15407/89570
|
4
|
0,1,2,6
|
|
29 |
93914/46889/27554/58581/18703
|
5
|
2,4,6,7,8
|
|
30 |
42035/12430/60728/30842/90381
|
5
|
0,3,4,7,8
|
|
31 |
90347/53880/67954/95256/68777
|
6
|
0,3,5,6,7,9
|
|
32 |
05986/60473/01606/16425/46292
|
5
|
0,4,7,8,9
|
|
33 |
18053/90486/24320/04250/03853
|
5
|
0,2,3,4,8
|
|
34 |
36865/13263/67280/18600/12774
|
5
|
0,3,5,6,8
|
|
35 |
72456/72052/79971/14656/41151
|
5
|
1,2,5,7,9
|
|
36 |
94888/28649/05561/76571/97567
|
5
|
0,5,6,7,9
|
|
37 |
50214/94693/88718/78922/55359
|
5
|
0,2,6,7,8
|
|
38 |
76502/99325/17987/31737/93874
|
7
|
0,2,3,5,6,7,9
|
|
39 |
87142/14764/13014/00248/73105
|
6
|
0,1,3,4,7,8
|
|
40 |
24573/71679/48704/19786/91834
|
7
|
1,4,5,6,7,8,9
|
|
41 |
20347/61889/06074/61263/20519
|
7
|
0,1,2,6,7,8,9
|
|
42 |
74344/97459/97302/14439/35689
|
6
|
0,3,4,6,8,9
|
|
43 |
04794/52198/50294/09340/24160
|
5
|
1,2,4,7,9
|
|
44 |
41065/69344/64698/54167/43348
|
7
|
1,3,4,6,7,8,9
|
|
45 |
39947/15696/03482/19574/70235
|
7
|
0,3,4,5,7,8,9
|
|
46 |
92767/16790/84897/69765/75734
|
7
|
3,4,5,6,7,8,9
|
|
47 |
09654/79610/05070/23456/74687
|
8
|
0,2,3,4,5,6,7,8
|
|
48 |
73998/98799/98707/05633/23915
|
8
|
0,2,3,5,6,7,8,9
|
|
49 |
35661/17480/89723/64335/27217
|
7
|
1,2,3,4,6,8,9
|
|
50 |
02489/77571/84873/03879/84460
|
7
|
0,2,4,5,7,8,9
|