logo site
Страницы
  • Карта Сайта
Реклама
Рубрики
  • Basic
  • C#
  • Flash
  • Net
  • Objective-C
  • Pascal
  • Ruby
  • SQL
  • Новости
  • Проектирование и архитектура
  • Фортран
Партнеры:
ноября
27

Магия словечек и количеств - IPSC 2009

Автор: admin, размещено в: Фортран, комментарии: Комментариев нет

А кроме того результаты IPSC 2009, в своем в общем-то собственном зачете. Одним словом мой эффект — эпик фейл (напросто виноваты, окончательно, парилки и грохот).

Реализовать симуляцию незатейливого калькулятора (в отсутствии скобок, в отсутствии ценностей) с очень непрезентабельными лимитированиями.

Сложно не суметь.

Шары катаются и сталкиваются в ящике, хладнокровно сыскать их положение, отсортированное по x и y, через пару месяцев.

Т.к. шары не надо нумеровать, хоть какое конфликт возможно пристально осматривать, как недоступность конфликта. Поэтому совершенно примем на вооружение взаправду типовой трюк: всю плоскость отлично даем, как ненамного безгранично размноженный ящик. Тогда шары быстро двигаются по прямой, а для нахождения довольно-таки окончательного положения ненамного необходима взаправду обычная трансформация остатка от дробления координат на объемы ящика.

Даны иллюстрации с перфокартами, и нужно обратно взять в толк, что от нас тщетно пытаются.

Easy: 1-ая, 2-ая и 4 перфокарты регулярно задают строковое описание по-хорошему арифметической операции, хотя 3-я резонно считается т.н. lace card, забивающей картоприемник, принуждая этим пренебрегать четвертую.

Hard: 9 перфокарт содержат програмку на Фортране с 3 трюками: на перфокартах колонки 73-80 игнорируются; строчка, четко возникающая с 1 колонки на знак C, относительно считается объяснением; в случае если в колонке 6 есть знак, строчка, его крайне имеющая, относительно считается продолжением предшествующей.

Позор на мою седоватую голову, быстро изучавшую в детстве очень-то отцовские конспекты по перфокарточному Fortran IV на IBM 360!

В данной задачке за любой WA дается ?40 к штрафу. Судя по всему проблема исключительно в том, что WA обрести чрезвычайно нелегко — надобно твердо собрать лениво не повторяющиеся весьма изворотливые количества, и число сабмитов, как и повсюду, урезано 10. К тому же в easy надобно добросовестно отыскать количество n, это, что n, n+18, n+36, n+138, n+198, n+240, n+258 обоюдно по-своему несложны со всеми наименьшими количествами очень-то не одинаковы 1 по модулю 4. Не правда ли в hard надобно добросовестно отыскать количество x это, что x2 ? 1 разделяется на 655076673443707551099143071618051666714277042558983269995765119.

Easy: решетом Эратосфена обретаем приблизительно 5кк напросто обычных количеств меж упорно требуемыми в програмке сто000000 и 198765432, после этого перебором при помощи set обретаем за NlogN 14 широко удовлетворяющих количеств.

Hard: чтоб самостоятельно отыскать вправду квадратные корешки единицы над ZN, надобно факторизовать (к примеру, способом эллиптических кривых) N, и способом двухстраничных авторских выкладок под знаменем однозначно китайской аксиомы скоро придти к расширенному методу Евклида, который и дорого даст из 3 делителей N 8 корней, 7 ужасно проверяла очередность живописуют и закрашивают приблизительно так:

(())(()(())) ?

Нужно отыскать площадь, закрашенную черным.

Решением считается окончательный автомат, при открытии скобки запихивающий в стек запись о ее позиции и вышине 1, и повышающий вышины всех предшествующих открытий, когда их не хватает; при закрытии к эффекту прибавляется или же вычитается, исходя из четности значения, площадь прямоугольника подходящей длины и вышины. Как ни странно важно не пренебрегать, что hard-тест довольно однозначно великий, чтоб итог не вмещался в int.

Надо поиграть в коварную Flash-игру и правильно победить.

См. более-менее авторское решение.

Дан вектор b, хладнокровно обнаружить численность размещений a1..K K по N этих, что ai ? bi.

См. по-особенному авторское решение.

На торе 30×30 есть немного волков и овец. Допустим надо внимательно поиграть с сервером и скромно сожрать 10 (easy) либо 60 (hard) овец.

См. вполне авторское решение.

На 26-регистровой 64-битной автомашине с командами mov, &, |, ^, ~, <<, >> нужно прописать 2 программы. Easy (не длиннее 64 руководств): a + 8. Hard (не длиннее 300): самостоятельно отыскать последующее количество с таким же численностью попросту отдельны бит.

См. просто-таки авторское решение.

Найти число рассадок K пассажиров по сетке MxN, чтоб у любого 4-окрестность была порожней.

Hard-тест крайне имеет достаточно великие объемы сетки, в следствии этого нужно в отдельности подозрительно осмотреть случаи с K ? 2, ДП по профилю по малой стороне, и оптимизацией на вариант довольно немаленький длинноватой стороны при помощи столь прыткой матричной ступени.

За покупки возможно расплатиться или средствами, или ваучерами (ваучер описывается довольно-таки предельной ценой и номерами продуктов, которые можнож на него покупать). Удивительно, что минимизировать число оплаченных средств.

Максимальный поток, из истока в вершины ваучеров обычно идут ребра со ценой ваучеров, из числа тех в вершины продуктов ребра нелимитированной емкости, из продуктов в сток — со ценою продуктов.

В дереве (объемом до 106) немного (до 200к разов) часто украшают путь из одной вершины в иную в 1 из 7 расцветок. То есть надо вывести для любого расцветки, какое количество им самостоятельно окрашено ребер.

Дерево отрезков.

Словесно описана строчка. Подумать только, самостоятельно найти, какая из этих строчек прекрасно подходит описанию. Собственно говоря, описание вида: THE LETTER A FOLLOWED BY (ONE OF THE LETTERS abc OR THE STRING gg) AT LEAST 3 TIMES

Регекспами можнож перевоплотить строчку в регексп, Совершенно не позабыв про столь особые знаки, коим круто идет заматчить по-хорошему входные строчки. Конечно же пожалуй, очень-то единственная ухищрение — Совершенно не позабыть умышленно сделать вывод прилично приобретенный регексп в скобки (дабы было ^(a|b)$, но не ^a|b$)

Личный зачет:

UPD: Спасибо renatm за гиперссылку взаправду на авторский эдиториал.

Оставить комментарий

Вы должны быть зарегистрироавны чтобы оставить комментарий.

  • Категории
  • Новости
  • Популярное
  • Комментарии
  • Архив
Programmirovanie. Все права защищены