Форум → Программирование → PHP для идиотов → Странное распределение )
Странное распределение )
Страницы: ← Предыдущая страница • Следующая страница →
-
-
24 февраля 2010 г. 9:01, спустя 7 часов 38 минут 22 секунды
Т.е мне нужно массив со всеми выведенными парами, и массив в котором записана следующая пара для вывода, прогнать через array_diff, после этого искать в результате выполнения array_diff, элемент, который должен выводиться. Если поиск его найдет, ту нужно вывести. Так?
пиздец
array_diff, array_diff_keys и прочее -
24 февраля 2010 г. 20:17, спустя 11 часов 15 минут 50 секунд
ну вот допустим, я записал все выведенные на экран пары в массив. При выводе следующей пары прогоняю это все через array_diff, и получаю многомерный массив. А как теперь найти нужную пару в нем? -
24 февраля 2010 г. 22:13, спустя 1 час 56 минут 37 секунд
}/{EHR, это для школьной олимпиады чтоли? вот гарантированно рабочее решение (боже, зачем я это делаю?)
<?php
for ($pairs = array(), $i = 1; $i <= 16; ++$i)
for ($j = 1; $j <= 16; ++$j)
if ($i != $j) $pairs[] = array($i, $j);
shuffle($pairs);
$result = array_chunk(array_slice($pairs, 8 * 15), 8);
header('Content-type: text-plain');
var_export($result);
для генерации пар ничего умнее не придумал.
уникальных пар всего 240. из них нужны 120, поэтому после размешивания отрезаем половину и нарезаем на кусочкиιιlllιlllι унц-унц -
-
24 февраля 2010 г. 22:34, спустя 4 минуты 25 секунд
Большое спасибо
}/{EHR, это для школьной олимпиады чтоли? вот гарантированно рабочее решение (боже, зачем я это делаю?)
<?php
for ($pairs = array(), $i = 1; $i <= 16; ++$i)
for ($j = 1; $j <= 16; ++$j)
if ($i != $j) $pairs[] = array($i, $j);
shuffle($pairs);
$result = array_chunk(array_slice($pairs, 8 * 15), 8);
header('Content-type: text-plain');
var_export($result);
для генерации пар ничего умнее не придумал.
уникальных пар всего 240. из них нужны 120, поэтому после размешивания отрезаем половину и нарезаем на кусочки -
24 февраля 2010 г. 22:39, спустя 4 минуты 13 секунд
апоцеловать?скажи ЗАЧЕМ ТЕБЕ ЭТО? вдруг на самом деле всё одной командой решается )))ιιlllιlllι унц-унц -
24 февраля 2010 г. 22:48, спустя 9 минут 8 секунд
}/{EHR ↓
вдруг на самом деле всё одной командой решается )))
Фас? -
24 февраля 2010 г. 22:56, спустя 8 минут 1 секунду
Хотя нет. В одной группе не должны быть одинаковых. Т.е. 1-4, 2-1 не может быть в одной группе.Спустя 270 сек.
Есть 16 человек и 15 дней. Все должны встретиться по отдельности. В день двух встреч не должно быть.апоцеловать?скажи ЗАЧЕМ ТЕБЕ ЭТО? вдруг на самом деле всё одной командой решается ))) -
24 февраля 2010 г. 23:13, спустя 17 минут 26 секунд
}/{EHR, двоих в один день не всякий сможет
а как насчет того, что половина парочек вобще не случится? это по правилам?ιιlllιlllι унц-унц -
24 февраля 2010 г. 23:16, спустя 2 минуты 24 секунды
Нет, ты говоришь про то, что 1-2, и 2-1 разные пары, а это одиноковые. Т.е. пар всего 120, а не 240
}/{EHR, двоих в один день не всякий сможет
а как насчет того, что половина парочек вобще не случится? это по правилам? -
25 февраля 2010 г. 1:20, спустя 2 часа 3 минуты 51 секунду
шайтан!
совсем некрасиво, но работает
<?php
// 15 групп пока пустых
for ($groups = array(), $k = 0; $k < 15; ++$k)
$groups[] = array();
// полный перебор неповторяющихся пар где $j < $i (таких 120)
for ($i = 1; $i <= 16; ++$i) {
for ($j = $i + 1; $j <= 16; ++$j) {
foreach ($groups as &$list) {
// в одном списке не более 2 * 8 участников
// добавляем сразу 2-их, если их нет в списке
if (count($list) < 16 && !in_array($i, $list) && !in_array($j, $list)) {
$list[] = $i;
$list[] = $j;
break;
}
}
}
}
// клеим пары - так понятнее
for ($k = 0; $k < 15; ++$k)
$groups[$k] = array_chunk($groups[$k], 2);
// выводим
header('Content-type: text/html; charset=UTF-8');
echo "<table border=\"1\">\n";
foreach ($groups as $group) {
echo "<tr>\n";
foreach ($group as $pair)
echo "\t<td>" . $pair[0] . '-' . $pair[1] . "</td>\n";
echo "</tr>\n";
}
echo "<table>\n";ιιlllιlllι унц-унц -
25 февраля 2010 г. 1:27, спустя 7 минут 26 секунд
artoodetoo, садись. 5. Давай дневник xD
ЗЫ мне твоя аватарка не нравится ( Негр какой то страшный( -
25 февраля 2010 г. 1:34, спустя 7 минут 13 секунд
о, я тебя напугал? комплекс белого человека с маленкой пипиской?ιιlllιlllι унц-унц -
25 февраля 2010 г. 1:38, спустя 3 минуты 22 секунды
artoodetoo, да не то что бы напугал, да и не то чтобы комплекс… Но он какой то противный. Фу бля)))
Страницы: ← Предыдущая страница • Следующая страница →
Пожалуйста, авторизуйтесь, чтобы написать комментарий!