php-, , , , , , .
<?php
function compare($orders){
if(sizeof($orders) == 0){
return 1;
}
$quantity = array();
foreach ($orders as $order) {
if(sizeof($order) == 0){
return 0;
}
foreach ($order as $employee) {
if(array_key_exists($employee, $quantity)){
$quantity[$employee]++;
}
else{
$quantity[$employee] = 1;
}
}
}
$chosenEmployees = array_keys($quantity, min($quantity));
$chosenEmployee = $chosenEmployees[0];
$length = array();
foreach ($orders as $key => $order) {
$length[$key] = sizeof($order);
}
for ($i=0; $i < sizeof($orders); $i++) {
$chosenOrders = array_keys($length, min($length));
foreach ($chosenOrders as $orderKey) {
if(in_array($chosenEmployee, $orders[$orderKey])){
unset($orders[$orderKey]);
foreach ($orders as $key1 => $order) {
foreach ($order as $key2 => $employee) {
if($employee == $chosenEmployee){
unset($orders[$key1][$key2]);
}
}
}
return compare($orders);
}
else{
unset($length[$orderKey]);
}
}
}
}
$out = compare($orders);
?>
, compare ($ your_array_name), 0 (false) 1 (true).
, .
Edit:
, - , .
, true, .
.
= > .
= > , , , .
= > , , , .
, n , n , .
n = , , true, .
, . , .