// ユーザー数 $n = trim(fgets(STDIN)); $userToBlood = []; for($i = 0; $i < $n; $i++) { $a = trim(fgets(STDIN)); [$user, $blood] = explode(" ", $a); $userToBlood[$user] = $blood; } // 答えの数 $m = trim(fgets(STDIN)); $bloodToAns = []; // タイプ for($i = 0; $i < $m; $i++) { $a = trim(fgets(STDIN)); [$blood, $ans] = explode(" ", $a); $bloodToAns[$blood] = $ans; } // $userToBloodの連想配列の「値」と $bloodToAns の「キー」は、同じ種類。 // 出力すべきお題の キー を、ループしながら、その キー に該当する 別のお題の 値 を出力させる。というコード。 foreach($userToBlood as $user => $blood) { echo $user. ' '. $bloodToAns[$blood]. "\n"; }