На форумі обговорюються лише питання, пов'язані з олімпіадою
Ви не зайшли.
Pavel написав:
Angry Coder написав:
итого если мы умеем искать положение карточки с заданым числом за О(1) (а это легко)
Вот к этому и вопрос КАК?
Просто заведём доп. массив, где индекс - это заданное число, а значение - это положение...
Поза форумом
Newpatience можно за n и без геммороя
Поза форумом
Как?
Поза форумом
Pavel написав:
Angry Coder написав:
итого если мы умеем искать положение карточки с заданым числом за О(1) (а это легко)
Вот к этому и вопрос КАК?
1)прямая индексация A[65536][2], где в А[i] храним номера карточек, на которых написано число i.
2)если хочется меньше памяти то хэш-таблица с таким же принципом.
Поза форумом
xXx написав:
Просто заведём доп. массив, где индекс - это заданное число, а значение - это положение...
И где ты его поместишь (128к по моим подсчетам), память не резиновая
У angry вообще 256к
Відредаговано Pavel (2005-11-19 14:17:25)
Поза форумом
n*log(n) операций вообще-то
Відредаговано Kero (2005-11-19 14:18:02)
Поза форумом
Pavel написав:
xXx написав:
Просто заведём доп. массив, где индекс - это заданное число, а значение - это положение...
И где ты его поместишь (128к по моим подсчетам), память не резиновая
У меня объём кеша больше...А ОЗУ то вообще 256Мб!!!
Да, а если озу всё таки не позволяет выделить такое количество, то для этого нужно использовать хеш-таблицы...
Відредаговано xXx (2005-11-19 14:21:08)
Поза форумом
Blamblam:
var n,i:byte; begin read(n); for i:=1 to n do write(random(2)); end.
Поза форумом
Maestro написав:
Blamblam:
Код:
var n,i:byte; begin read(n); for i:=1 to n do write(random(2)); end.
Геніально!!!!
Поза форумом
Я не знаю обьем динамической памяти в анси с
Но борланд 7.0 вроде больше 64 своих и около 80 динамической не дает
Поза форумом
65 kb своих и 650 kb динамической.
Поза форумом
Но если не писать {$M} то проверялка выделяет всю оперативу компа (а там немало).
Поза форумом
Читерство
Поза форумом
Maestro написав:
Blamblam:
Код:
var n,i:byte; begin read(n); for i:=1 to n do write(random(2)); end.
И как, работает?
Поза форумом
Мне памяти хватило бы и для 20000н и 30000 а вот времени - не уверен . Вообщем все задачи счетные и легкие. Только вот пасьянсы я бы смог отнести к средней задаче.
Поза форумом
Anna написав:
И как, работает?
Когда как
Поза форумом
2 xXx:
в тесте 160 4 140 80
при угле 1.039877
проекции 140.000000 84.461612
значит разместить невозможно.
Поза форумом
Angry Coder написав:
2 xXx:
в тесте 160 4 140 80
при угле 1.039877
проекции 140.000000 84.461612
значит разместить невозможно.
Диагональ карты больше диагонали стола не войдеть
Поза форумом
может имелось в сиду 160 40 140 80
Поза форумом
Pavel написав:
может имелось в сиду 160 40 140 80
все равно ответ 0
Поза форумом
именно 160 4 140 80. ответ 0.
на 160 40 140 80 тоже ответ 0. но это действительно очевидно.
Поза форумом
Angry Coder написав:
2 xXx:
в тесте 160 4 140 80
при угле 1.039877
проекции 140.000000 84.461612
значит разместить невозможно.
угол в чём? в радианах? в градусах?
я не знаю, может у меня calc.exe глючит, но проекции совершенно другие получились...
Відредаговано xXx (2005-11-19 14:55:40)
Поза форумом
какие еще проекции? вы что? задача решается элементарно - просто проводим окружность с центром совпадающим с центром стола и диаметром равным диагонали карты, находим точки пересечения и растояния между ними, наименьшее растояние - это наибольшая ширина карты с таким диаметром, если класть карту не горизонтально. Горизонтальный вариант проверяется вообще в одну строчку.
Поза форумом
посмотри по диагоналям. Диагональ карты больше. Ну никак не влезет
Поза форумом
DeusEx написав:
какие еще проекции? вы что? задача решается элементарно - просто проводим окружность с центром совпадающим с центром стола и диаметром равным диагонали карты, находим точки пересечения и растояния между ними, наименьшее растояние - это наибольшая ширина карты с таким диаметром, если класть карту не горизонтально. Горизонтальный вариант проверяется вообще в одну строчку.
Именно так. самое простое решение
Поза форумом