<?php

$moznosti1 = array('A','B','C','D');
$moznosti2 = array('A','B','C','D');
$moznosti3 = array('A','B','C','D');
$moznosti4 = array('A','B','C','D');
$moznosti5 = array('A','B','C','D');
$moznosti6 = array('A','B','C','D');
$moznosti7 = array('A','B','C','D');
$moznosti8 = array('A','B','C','D');

$maxbody=0;

foreach($moznosti1 as $m1){
foreach($moznosti2 as $m2){
foreach($moznosti3 as $m3){
foreach($moznosti4 as $m4){
foreach($moznosti5 as $m5){
foreach($moznosti6 as $m6){
foreach($moznosti7 as $m7){
foreach($moznosti8 as $m8){

// predohra
$pocetA=0;
if($m1=='A') $pocetA++;
if($m2=='A') $pocetA++;
if($m3=='A') $pocetA++;
if($m4=='A') $pocetA++;
if($m5=='A') $pocetA++;
if($m6=='A') $pocetA++;
if($m7=='A') $pocetA++;
if($m8=='A') $pocetA++;
$pocetB=0;
if($m1=='B') $pocetB++;
if($m2=='B') $pocetB++;
if($m3=='B') $pocetB++;
if($m4=='B') $pocetB++;
if($m5=='B') $pocetB++;
if($m6=='B') $pocetB++;
if($m7=='B') $pocetB++;
if($m8=='B') $pocetB++;
$pocetC=0;
if($m1=='C') $pocetC++;
if($m2=='C') $pocetC++;
if($m3=='C') $pocetC++;
if($m4=='C') $pocetC++;
if($m5=='C') $pocetC++;
if($m6=='C') $pocetC++;
if($m7=='C') $pocetC++;
if($m8=='C') $pocetC++;
$pocetD=0;
if($m1=='D') $pocetD++;
if($m2=='D') $pocetD++;
if($m3=='D') $pocetD++;
if($m4=='D') $pocetD++;
if($m5=='D') $pocetD++;
if($m6=='D') $pocetD++;
if($m7=='D') $pocetD++;
if($m8=='D') $pocetD++;

$body = 0;

// otazka cislo 1
if($m1=='A' && $m2=='A') $body++;
else if($m1=='B' && $m3=='B' && $m2!='B') $body++;
else if($m1=='C' && $m4=='C' && $m2!='C' && $m3!='C') $body++;
else if($m1=='D' && $m5=='D' && $m2!='D' && $m3!='D' && $m4!='D') $body++;

// otazka cislo 2
if($m2=='A' && $m1=='C') $body++;
else if($m2=='B' && $m2=='C' && $m1!='C') $body++;
else if($m2=='C' && $m3=='C' && $m1!='C' && $m2!='C') $body++;
else if($m2=='D' && $m4=='C' && $m1!='C' && $m2!='C' && $m3!='C') $body++;

// otazka cislo 3
if($m3=='A' && $m5=='A' && $m6!='A' && $m7!='A' && $m8!='A') $body++;
else if($m3=='B' && $m6=='A' && $m7!='A' && $m8!='A') $body++;
else if($m3=='C' && $m7=='A' && $m8!='A') $body++;
else if($m3=='D' && $m8=='A') $body++;

// otazka cislo 4
if($m4=='A' && $pocetD==1) $body++;
else if($m4=='B' && $pocetD==2) $body++;
else if($m4=='C' && $pocetD==3) $body++;
else if($m4=='D' && $pocetD==4) $body++;

// otazka cislo 5
if($m5=='A' && $pocetA>=$pocetB && $pocetA>=$pocetC && $pocetA>=$pocetD) $body++;
else if($m5=='B' && $pocetB>$pocetA && $pocetB>=$pocetC && $pocetB>=$pocetD) $body++;
else if($m5=='C' && $pocetC>$pocetA && $pocetC>$pocetB && $pocetC>=$pocetD) $body++;
else if($m5=='D' && $pocetD>$pocetA && $pocetD>$pocetB && $pocetD>$pocetC) $body++;

// otazka cislo 6
if($m6=='A' && $m2==$m3 && $m1!=$m2) $body++;
else if($m6=='B' && $m3==$m4 && $m1!=$m2 && $m2!=$m3) $body++;
else if($m6=='C' && $m4==$m5 && $m1!=$m2 && $m2!=$m3 && $m3!=$m4) $body++;
else if($m6=='D' && $m5==$m6 && $m1!=$m2 && $m2!=$m3 && $m3!=$m4 && $m4!=$m5) $body++;

// otazka cislo 7
if($m7=='A' && $pocetA<=$pocetB && $pocetA<=$pocetC && $pocetA<=$pocetD) $body++;
else if($m7=='B' && $pocetB<$pocetA && $pocetB<=$pocetC && $pocetB<=$pocetD) $body++;
else if($m7=='C' && $pocetC<$pocetA && $pocetC<$pocetB && $pocetC<=$pocetD) $body++;
else if($m7=='D' && $pocetD<$pocetA && $pocetD<$pocetB && $pocetD<$pocetC) $body++;

// otazka cislo 8
if($m8=='A' && ($body+1)==5) $body++;
else if($m8=='B' && ($body+1)==7) $body++;
else if($m8=='C' && ($body+1)==6) $body++;
else if($m8=='D' && ($body+1)==8) $body++;

// zaverecna kontrola
if($body >= $maxbody){
    echo $body.' '.$m1.$m2.$m3.$m4.$m5.$m6.$m7.$m8.'<br>';
    $maxbody = $body;
}

}
}
}
}
}
}
}
}

?>