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問目に解いてほしい問題 上位層は瞬殺してください 中間層は落ち着いて解いて下さい 下位層はがんばって解いて下さい
© Copyright 2024 ExpyDoc