【Bランクレベルアップメニュー】> FINAL問題 占い (paizaランク C 相当) [難易度: 1288 ±7]
※リンク先へ移動するためには[paiza]へのログインが必要です。
次のような占いプログラムを作成してください。
「ユーザー」と「ユーザーに対応する血液型」、「血液型」と「血液型に対応する占い結果」が与えられます。
それぞれのユーザーに対応する占い結果を表示してください。
入力例の1つ目は、ユーザーの血液型についてのラッキーカラーの占いです。
入力例の2つ目は、ユーザーの星座についてのラッキーパーソンの占いになっています。
「血液型」として「星座」などのさまざまな文字列を利用できるようにすることで、他の占いにも対応する必要があることに注意してください。
入力値(例)
5
Kyoko B
Rio O
Tsubame AB
KurodaSensei A
NekoSensei A
4
A red
B green
O blue
AB yellow
出力値(例)
Kyoko green
Rio blue
Tsubame yellow
KurodaSensei red
NekoSensei red
解答例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
<?php $n = trim(fgets(STDIN)); for($i = 0; $i < $n; $i++) { list($name, $blood) = explode(" ", trim(fgets(STDIN))); $data[$name] = $blood; } $m = trim(fgets(STDIN)); for($i = 0; $i < $m; $i++) { list($blood, $type) = explode(" ", trim(fgets(STDIN))); $result[$blood] = $type; } foreach($data as $key => $value) { echo $key. " ". $result[$data[$key]]. "\n"; } ?> |