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