
<?php
// 自分の得意な言語で
// Let's チャレンジ!!
$num = trim(fgets(STDIN));
$hoge = array();
$foo = array();
for ($i = 0; $i < $num; $i++) {
$s = explode(" ",trim(fgets(STDIN)));
$hoge += array($s[0]=>$s[1]);
}
$type_num = trim(fgets(STDIN));
for ($i = 0; $i < $type_num; $i++) {
$t = explode(" ",trim(fgets(STDIN)));
$foo += array($t[0]=>$t[1]);
}
//print_r($hoge);
foreach($hoge as $key =>$value){
foreach($foo as $key2 =>$value2){
if($value == $key2){
echo($key." ".$value2."\n");
break;//探索終わり なぜかここはbreak 2ではない
}
}
}
?>
このbreak;をつけないとテスト8あたりで引っかかりました。
これがbreak 2;でないのが自分で不思議です。
foreachを2つ抜けるならbreak 2;な気もしますが・・・。
それにしても数日前に人生初の2重whileをやって、今回は二重foreachです。レベルアップ問題は本当にアップしますね。

1+