Problem F

Problem F : Lying about Your Age
担当 : 野田、八森
解説 : 野田
問題概要
• 自分の年齢をM進法で表記して年齢を詐称
する(ただし、見た目は10進表記)
• 詐称した年齢は毎年計算しなおし、前年度と
同じか、それより上がるようにする
• 実年齢がA歳で詐称年齢がB歳だったとき、実
年齢がC歳になったときには何歳と詐称でき
るか?
解法(1)
• 実年齢i、M進数から詐称年齢を計算する
ルーチンを用意する
• A歳からC歳まで順に詐称できる最少年齢を
順に計算する
解法(2)
実年齢
10進数
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
11進数
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
12進数
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
13進数
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
14進数
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
15進数
16
17
18
19
20
21
22
23
24
25
26
27
28
29
16進数
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
注意点
• 実年齢25歳まではM進数の値を上げると詐
称年齢が上がらなくてすむ場合がある
• テーブル内に初期詐称年齢が存在しない場
合は-1
その他
• 審判団ソースコード
– 野田 : 80行
– 八森 : 60行
•
•
•
•
Submit数 : 55
Accepted数 : 22
First Submit : 33分(Unknown)
First Accepted : 33分(Unknown)
終わりに
•
•
•
•
2問目に解いてほしい問題
上位層は瞬殺してください
中間層は落ち着いて解いて下さい
下位層はがんばって解いて下さい