1218Push!!
1224Starship Hakodate-maru
http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=1224
宇宙船の燃料補給の問題。
キューブ型の燃料Aと正三角錐型の燃料Bがある。
A、Bともに辺のサイズは整数で0,1,2,3,4,5,6、、、となる。
Aの体積は0,1,8,27,,,,, n^3
Bの体積は0,1,4,10,,,,n(n+1)(n+2)/6
となり燃料の量は体積に比例し燃料のサイズは151201を超えない。
宇宙船より要求される燃料n(151201以下)が整数で与えられる。
AとBから適切なサイズの燃料を一つずつ選んで組み合わせ、nを超えずn以下(nぴったりでもよい)で最大となる選び方をせよ。
この選び方で渡せる燃料の最大量を出力せよ。
AかB一つのみの選び方もあることに注意せよ。
1200Goldbach's Conjecture
1214Walking Ant
http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=1214
一匹の蟻(2)がw列*h行の升目であらわされた敷地の中を移動して最短距離でマップ上にただ一つある巣穴(3)にたどり着く問題。
蟻はHP6を持ち、1マス移動するごとにHPが-1されていき0になると死んでしまう。
食べ物のあるマス(4)に到達すると、ありはHPを6に回復する。
蟻は水のあるマス(0)にはいることはできないがそれ以外のマスには自由に何度でも入ることができる。
HP0で食べ物か巣穴のあるマスに到達すると蟻は巣穴にはいることも食べ物を食べることもできず死んでしまう。
蟻はマップから出ることはできない。
マップサイズは縦横ともに8マス以内である(最大で8*8)。
inputデータは
マップサイズを表すw h
w列h行のマップのデータが与えられる。
マップは0は水地、1は平地、2は蟻の初期位置、3は巣穴、4は食べ物となっており、上記条件で蟻が巣穴へ到達する時の最短移動距離を求めよという問題。
巣穴に到達できない時は-1を出力せよ。
1208Rational Irrationals
1217Family Tre
inputデータの解説。
John
Robert
Frank
Andrew
Nancy
David
ジョーンの子供はロバートとナンシーで、ロバートの子供はフランクとアンドリュー。
ロバートとナンシーは兄姉の関係でありナンシーの子供はデビッドであるという関係を表している。
質問文は以下の形式で与えられる。
X is a child of Y.(XはYの子供である)
X is the parent of Y.(XはYの父親である)
X is a sibling of Y.(XとYは兄弟)
X is a descendant of Y.(XはYの子孫)
X is an ancestor of Y.(XはYの先祖)
家系図と質問文が与えられる。
質問文が家系図に対して正しいならTrue、正しくないならFalse、質問文でないものが代入されたら改行一つを返せ。
inputデータの数字は家族の人数と質問文の数となっている。
家族図の中に同一名称はでてこない。
inputデータの一行は70文字以下であり、一つの家族図にでてくる名前の数と質問文の数は1000個以下である。
1017Riffle Shuffle
inputデータの解説。
インプットデータは複数のデータセットが与えられ一つのセットは
n r (カードの枚数n,rはカードをシャッフルする回数)
R1 R2 ,,,Rr(i回目にカードをシャッフルする時の基準となる枚数)
という構造にいなっている。
手順。
カードは初めに0~n-1までの番号がついていて、下から0,1,2、、、n-1 と順番に並んでいる。
9 3
4 2 7
というデータの場合を解説する。
シャッフルについて。
シャッフルはまずカードをきっちり2山、山Aと山Bに分ける。
カードの枚数が奇数の場合は山Aを一枚多くする。
山Aの下から4枚取り出し山Cの上に追加する、山が4枚以下の場合は残りすべてを移す。
山Bの下から4枚取り出し山Cの上に追加する、山が4枚以下の場合は残り全てを移す。
これを双方の山が無くなるまで繰り返しこれを一回のシャッフルとする。
次のシャッフルでは2枚を基準に上記の操作を行い3回目では7枚を基準にシャッフルを行う、4,2,7というわけである。
outputはシャッフル終了後トップに来るカード、cards[n-1]のカード番号を返す。
問題では図入りで解説されているので詳細については図を参考にすると分かりやすい。
1210 Die Game
1227 77377
inputは変換候補となる英単語の数nと単語がn個、携帯電話のキー入力を表す数字列が与えられる。
まず単語をaかbかcなら2,dかeかfなら3、、、,wかxかyかzなら9と数字列に変換する。
次にキー入力を前から読み込み、数字化した単語と完全一致する単語を探す、見つかれば次の入力に移行しまた一致する単語を探す。
この操作を繰り返し全入力が単語と1対1に変換できるならそれを変換候補として、単語をスペースでつなげた文字列を出力せよ。
inputの具体例を示す。
3
acdh
abcd
z
222349(キー入力)
この場合
acdhが2234に変換できabcdが2223にzが9に変換できる。
入力に対し2234と9、2223と9という変換候補があるが、どちらも使われてない入力文字があるので出力をしてはいけない。
出力して良い場合として
4
i
am
going
go
42646464
はiが4.amが26 goingが46464 goが46と符号化できるので
キー入力42646464は
i am going.
i am go go i.
という4 26 46464という変換候補と4 26 46 46 4という変換候補が存在することになりこの2つは全入力と完全一致なので出力してよい。
注意点として出力末尾に.を忘れないことと候補の出力順序を長い単語を使う方を優先すること。
2242 Era Name
年号に関する問題,賢い人なら5分で解けると思うので気軽に。
簡単な問題なのでinputデータの解説をする。
n,m
年号の名前とそれが続いた年数と終わった年が一行ずつn個与えられる。
年がm行与えられるのでその年に対する年号と年号でいえば何年目かを返せ。
もし年号に定義されてない年があればUnknownと一行で出力せよ。
年号に重複する部分はなく同じ名前の年号が違う時代に使われることはないと仮定してよい。
2 2
meiji 100 1900
syouwa 100 1950
というように明治と昭和に重なる部分はあるがこのようなデータは入力されない。
input例とoutput例を示す。
input
3 6
meiji 100 1900
syouwa 100 2000
heisei 50 2100
1799
1800
1801
1900
2060
2101
output
Unknow
Unknownn
meiji 1
meiji 100
heisei 10
Unknownn