円盤状の記憶メディアがある。
記憶を格納する場所は「セクタ」と呼ばれていて、セクタには下図のようにアドレスが振られている。
上図のとおり、まんなかは使われない。
で。
不良セクタが検出されている。
複数の不良セクタと隣接している不良ではないセクタは、なんとなく危なっかしいので「保留セクタ」としてマークする必要がある。
例えば、400,401,302 の3つのセクタが不良になったとする。
複数の不良セクタに隣接しているセクタは、300,301,402 なので、この 3個のセクタを「保留セクタ」にする。
不良セクタのリストを元に、保留セクタのアドレスをすべて求めよ。
入力は
400,401,302
こんな感じ。
不良セクタのアドレスをコンマ区切りでつなげてある。
入力の順序は整列されていない(不良になった順という設定)。
入力に重複は含まない。
出力は、保留セクタにすべきセクタの名前を辞書順で、コンマ区切りにした文字列。
上記の例だと
300,301,402
を出力ればよい。
また、入力が
105,100,306,414
のように、保留セクタにすべきセクタがひとつもない場合、そのことを示すために
none
を出力する。
# | 入力 | 期待 |
---|---|---|
0 |
400,401,302
|
300,301,402
|
1 |
105,100,306,414
|
none
|
2 |
100
|
none
|
3 |
211
|
none
|
4 |
317
|
none
|
5 |
414
|
none
|
6 |
100,106
|
107
|
7 |
205,203
|
102,204
|
8 |
303,305
|
304
|
9 |
407,409
|
306,408
|
10 |
104,103
|
207
|
11 |
204,203
|
102,305
|
12 |
313,314
|
209,418
|
13 |
419,418
|
314
|
14 |
100,102,101
|
201,203
|
15 |
103,206,309
|
205,207,308,310
|
16 |
414,310,309
|
206,311,413
|
17 |
104,102,206,307,102,202
|
101,103,203,204,205,207,308
|
18 |
104,206,308,409,407
|
103,205,207,306,307,309,408,410
|
19 |
313,406,213,301,409,422,412,102,428
|
none
|
20 |
101,300,210,308,423,321,403,408,415
|
none
|
21 |
304,316,307,207,427,402,107,431,412,418,424
|
none
|
22 |
205,408,210,215,425,302,311,400,428,412
|
none
|
23 |
200,311,306,412,403,318,427,105,420
|
none
|
24 |
105,305,407,408,309,208,427
|
104,209,306,406
|
25 |
311,304,322,404,429,305,316
|
203,303,321,405,406,430
|
26 |
210,401,316,425,101
|
211,315
|
27 |
414,403,404,416,428,421
|
303,415
|
28 |
207,300,103,211,428
|
104,206
|
29 |
322,314,310
|
none
|
30 |
427,200,215
|
100,323
|
31 |
311,402,424,307,318,430,323,305,201
|
200,204,301,302,306,322,423,425,431
|
32 |
425,430,408
|
none
|
33 |
202,320,209,426
|
319,427
|
34 |
430,209,302,310,304,431,320
|
202,303,323
|
35 |
208,206,406,424,213,312
|
207,311,313
|
36 |
420,302,313,413,317,402
|
301,403
|
37 |
319,306,309,418,204,411
|
305,307,308,412
|
38 |
400,308,105,430,203,428,209
|
104,210,429,431
|
39 |
200,305,214
|
215
|
40 |
214,408,410,407,317,422
|
306,316,409,423
|