三人官女と五人囃子
コメントや私信により、解答をいただいた。メイコさん、迷子の雄猫さん。ありがとうございます。みなさん、正解。
以前、朝日新聞パズルパーク、パズル横丁で出題していた頃に作ったもの。答え方、答えさせ方が難しい。新聞出題での「答えを送ってもらい正誤判定する」のには向いてないとは感じていた。
解りやすさを狙って、説明をプログラム風にしてみた。箱はそれぞれa,b,c,d,e,f,g,h
3回で判定する方法は
if(a!=b){ //1回目
printf("a,b");
}else if(c!=d){ //2回目
printf("c,d");
}else if(e!=f){ // 3回目
printf("e,f");
}else {
printf("g,h");
}
決まり手を色別けしてみた。
□まず、基本的に1個ずつ比べて重さが違ったら、官女と囃子のペア。
□つりあったものは候補から外していく。囃子に着目してみると候補からは0、2、4と必ず偶数体減ることになる。偶奇が保たれることより、残った中の1体が囃子。(官女も同様)。
これを踏まえて、正解の2回で判定する方法は
if(a+b!=c+d){ // 1回目
if(a!=c){ // 2回目
printf("a,c");
}else{
printf("b,d");
}
}else{
if(e!=f){ // 2回目
printf("e,f");
}else{
printf("g,h");
}
}
□緑のところは、a+b!=c+d で a==c なので b!=d。
/////
合わせて、迷子の雄猫さんのコメントをデコードしてみてもらうとよい。