Задача на комбинаторику

rotoZOOM

ACM maniac
CHEM_Eugene проверь, что выдает на массиве из моего примера. Повторяю вопрос: для чего в этой конкретной задаче нужен приближенный метод, когда существует точный с еще меньшим количеством строк кода?
 

CHEM_Eugene

Новичок
rotoZOOM, а ты запусти раз 5 :)
Поскольку ставки принимаются рандомно, то и результат соответствующий. Кроме того там есть критерий, который отвечает за удовлетворительность решения (1.4), измени его и будешь искать точнее.

Таким методом пользуются при дележе наследства, только ставки раздают люди, а не рандом.

Если есть точный метод, конечно нужно пользоваться им, но я его не знал :)
 

ХакИрФсимагущий

[засикречино]
я придумал просте и очень быстрое решение об этом поже.
Осноывается оно на маем первом посте тут с дополнениям которое пощволит слелать се очень просто.
PS все гениальное просто
 

dimagolov

Новичок
я придумал просте и очень быстрое решение об этом поже.
не тешь себя, к Ферма тебе приблизиться не светит



"я открыл поистине удивительное доказательство этого предложения. Но оно не умещается на узких полях." (с) Ферма
 

ХакИрФсимагущий

[засикречино]
как всегда мне ниче не светит))))

на шет умной книжки, то я не все книги признаю еслиб поступал как пишут в книгах, то ой как много ошибок понаделал бы. Нужно уметь читать правильно.

Глуп тот кто не читает газеты, но еше глупее тот кто читает и всему верит.

-~{}~ 08.09.10 16:08:
PHP:
$a = array(10,9,9,8,3,1);
asort($a,SORT_NUMERIC);
foreach ($a as $b=>$c) {
$w=$w+$c;
$as[$b]=$w;
$b1=$b;
}//вычесляем сумму всех элементов
$cou=count($as);
$w=$w/2;
$i=0;
foreach ($as as $b=>$cs){
$i++;
if($cs>$w){$z=($cs-$w)*2; $z1=($w-$as[$b1])*2;
	if($z>$z1){$z=$z1;$zb=$cou-$i+1;  $y=true; } else {$zb=$cou-$i; $y=false;}
	; break;
}
$b1=$b;
}//сколько нехватает до полоаины к которой нужно стремится + определение границы
arsort($a,SORT_NUMERIC);
$i=0;
foreach ($a as $b=>$c){
if($i<$zb){$right[$b]=$c;
} else {
if($c<=$z){$z=$z-$c; if($y){$left[$b]=$c;}else{$right[$b]=$c;}} else {$left[$b]=$c;}
}
$i++;
} //сортировка
print_r($right);
print_r($left);
На составления точного алгоритма потратил 15 секунд
На составления более точного алгоритма потратил 25 секунд
На написание потратил 2 часа. Жаль, что спасибо в корман не положишь)))


Вуаля а теперь найдите какая последоательность не прокатит.
Array ( [0] => 10 [1] => 9 [5] => 1 ) Array ( [2] => 9 [3] => 8 [4] => 3 )

-~{}~ 08.09.10 16:17:

rotoZOOM
Совсем не заметил что вы про русский язык говорите)).
Простите но я русский язык учил так что знал апсалютно все правила русского языка(даже истрию русского языка занал) хоть ночью подними, а писать грамотно так и не смог.
Благо на эгзаменах тесты ЕгЭ были, так как там за присутстие в сочинении 17 ошибок ты просто не зарабатываешь балы за грамотностьи в минус уйти неврозможно))))). Как частенько было у меня в школьных сочинениях было хоть и переписыал их с интернета)).
В итоге по ЕГЭ у меня 4 когда школе по сочинениям и прочим делам 2 всегда было. Вобщем забил я давно на грамотность темболее в програмирывании она не нужна. Тут нужно правильое мышление.
 

ХакИрФсимагущий

[засикречино]
есть у меня спел чекер)))Я им даже иногда пользуюсь) Но из-за количества моих ошибок меня он напрягает...

Иоу, оказиываетя фсимагуший пишится через е

-~{}~ 08.09.10 17:03:

Автор оригинала: dimagolov
у тебя мышления не хватает даже на установку spell-checker-а, так что куда тут программирование :)
а вот мой алгоритм куда точнее алгаритмов соклубников)) или это ничто не значит? скорость выолнения надо тестить, но зато без всяких рандомов и точности обработки информации. Не уверин, что применл самые рациональные функции и рационально использовал рационально обьявленные переменные. Но уверин что алгоритм(что и говорит о мышлении) самый рациональный из самых точных.

Дима скажи а как поменять надпись новичок на свою, легальным обрзом?
 

Активист

Активист
Команда форума
Надо же) Вот Вам и ЕГЭ)) У меня всегда с русским были проблемы, но выпускные экзамены в школе (именно экзамены, а не тест), я все же не завалил, а на матфаке русского и вовсе не было)

А про тему сабжа, я раньше даже учавствовал в подобных "задачках", а сейчас даже не вчитываюсь, ибо делать работу за других невыгодно.

Вот сколько полезного рабочего времени было потрачено на решение этой проблемы участниками треда?

-~{}~ 08.09.10 22:20:

ХакИрФсимагущий
Никак)
 

ХакИрФсимагущий

[засикречино]
Активист
Да ЕгЭ таким как я куда проще здавать, чем экзамены
А вообше в интернете хочю на фринансе поработать, но не могу найти где)) На биржах не дают((

А как вы тогда стали Активистом?)))

-~{}~ 08.09.10 17:27:

и ротозум маньяком
 

ХакИрФсимагущий

[засикречино]
Кстати у меня уже есть еше более точная версия этого скрипта так как этот скрипт не обработет 10,9,9,8,8,3
За ней можно постучатся в Асю триста семдесят пять сто сто семдясят один.
 

CHEM_Eugene

Новичок
ХакИрФсимагущий, он у тебя и с исходным массивом не справляется:
Array(20, 10, 3, 16, 30, 40);
 

ХакИрФсимагущий

[засикречино]
Автор оригинала: ХакИрФсимагущий
http://to-osada.ru/test.php?a0=20&a1=10&a2=3&a3=16&a4=30&a5=40&a6=&a7=&a8=&a9=
вот что получилось все справляется вроде.

-~{}~ 09.09.10 00:24:

Кстати для проверки и обноружений багов в скрипте вы можете водить данные на http://to-osada.ru/test.php
том числе и в прикручинном скрипте фильтре который отфильтрует переменнвй для БД (против иньекций) и должен не дать вам сделать ХSS с этого сайта

-~{}~ 09.09.10 00:35:

ХакИрФсимагущий, он у тебя и с исходным массивом не справляется:

это потому что обратная сортировка не написана в даннм примере
тоесть не сортирует он справа на лево. а вот тут http://to-osada.ru/test.php сортирует

-~{}~ 09.09.10 13:18:

вобшем если нужен более точный вариант этого скрипта как я в присере написал пишите мне в ЛС
 

Sluggard

Новичок
На составления точного алгоритма потратил 15 секунд
На составления более точного алгоритма потратил 25 секунд
На написание потратил 2 часа. Жаль, что спасибо в корман не положишь)))
Чтобы разобраться в твоем алгоритме потратил около минуты. 2 часа на реализацию бреда - за что ты так себя не любишь?
вот что получилось все справляется вроде.
Ясно. Гений потратил еще 25 секунд на составления более точного алгоритма. А нам не влом снова потестировать. Ну да, ты не знал? Это форум тестеров.
Кстати для проверки и обноружений багов в скрипте вы можете водить данные на http://to-osada.ru/test.php
Здесь мы должны ахнуть. Нам "облегчили" тестирование.
Вводи: 1, 2, 3, 4.
том числе и в прикручинном скрипте фильтре который отфильтрует переменнвй для БД (против иньекций) и должен не дать вам сделать ХSS с этого сайта
В следующей версии получим фильтр спама и возможность загружать файлы. Тоже потестировать?
вобшем если нужен более точный вариант этого скрипта как я в присере написал пишите мне в ЛС
Таким образом вы узнаете, как перевести спасибо в карман за БОЛЕЕ точную версию.

P.S. Не все, что просто, то гениально.
 
Сверху