CooperTeam.

Второе полугодие.

Про смену коней на переправе. В конце декабря 2002 года я был уверен: никакого программирования, ноги моей больше не будет! Степа Некрасов уговорил меня пойти на немецкий язык, Юра Викторов все время куда-то собирался. Но в январе мы подумали и неожиданно решили продолжать. Все-таки идти оказалось некуда. Но вот Александра Сиклицкая решила нас покинуть. Гм... Видимо, мы ей крепко надоели. Зато мы стали действительно командой 11в класса, поскольку место досрочно выбывшей занял Андрей Шпартько.

Он с искренним интересом наблюдал происходящее, и, конечно, тоже совершил несколько подвигов. Из них я помню один. Однажды мы с Юрой заболели в один день (среду, разумеется), и в 14-30 (начало в 14-50) напуганный Андрей  позвонил Викторову с криками о помощи. Юра сказал что-то вроде: "Не боись, прорвемся!", и тур стал удаленным, поскольку мы пытались решить задачи, и одну сдали, а Андрей сидел на месте и наблюдал это. А также принимал поздравления. Задачу, кстати, сдал Юра.

Второе полугодие. Оно, конечно, было обставлено с большим шиком. Я каждую нежедю носил в школу распечатки траеторий рейтингов команд, сделанные в Excel'е. Через некоторое время после начала туров, стало ясно, что сменилась интрига - вопрос был теперь не в том, получит ли CooperTeam зачет, а в том, станет ли она первой. MercyKillers и DivisionByZero из соревнования вышли, главными конкурентами стали Pioneers.

Драматический финал. К последнему туру у нас был отрыв от Pioneers на 37 очков, это задача с лишним. Мы с Юрой полагали, что все решено. Но Николай Михайлович Пульцин решил, что так неинтересно и дал в последнем туре 40 баллов за задачу. Я все же не особо беспокоился. Первую задачу все сдали почти синхронно, а вторая все никак не выходила, выдавала ошибку. Помню, там надо было завести большой массив и возвращалась ошибка про память. И Pioneers подали протест и заработали 80 баллов! И нам, чтобы их догнать нужно было решить последнюю задачку, да еще чтоб они не решили. А задачка была непростая.

Задача 11.3/12.3
  Условие Дятел-тяжелоатлет способен удерживать во время полета три гири - на двух лапах и в клюве. Во время тренировок он в обязательном порядке использует все три конечности. Среди дятлов считается непрестижным летать с гирями с суммарным весом меньшим A. В то же время дятел пока не способен поднять набор, весящий больше, чем B. Сколько существует способов выбрать из его арсенала три гири, подходящие для тренировок?
  Входной файл В первой строке - целые числа A и B (0 <= A <= B <= 3000000).
Во второй строке - натуральное число N - количество гирь у дятла (3 <= N <= 5000).
В следующих N строках - натуральные числа - веса гирь в произвольном порядке. Все веса не превосходят 1000000.
  Файл результата Количество подходящих наборов (оно заведомо меньше 2000000000) и символ перевода строки.
  Ограничения Время: 1 с (Pentium III 1400MHz), память: 1000000 байт.
  Пример input.txt
3 4
4
1
1
2
2
output.txt
2

Ее решали в прошлом туре все, но никто не решил, так что она была дана еще раз. Я поехал домой, оставалось 4 часа, чтобы решить задачу, которую я пытался сделать неделю! И я за эти 4 часа придумал идею, написал, отладил и сдал в 21-45!! Это было потрясающе! Мы выиграли.

Результаты второго полугодия.

Команда Сумма (из 620) %
CooperTeam 385 62.1
Pioneers 380 61.3
Schlangen 331 53.4
Users 308 49.7
Optical 306 49.4
UnDead 289 46.6
Genius 229 36.9
Kettles 203 32.7

Избранные задачи.

Задача 0.3
  Условие В косоугольной системе координат на плоскости ось Y получается из оси X поворотом на 60o против часовой стрелки. Длины единичных отрезков на осях равны. Треугольник ABC -- равносторонний, причем вершины A, B, C идут по часовой стрелке. Заданы координаты вершин A и B. Найдите координаты вершины C.
  Входной файл В первой строчке 2 целых числа через пробел -- координаты вершины A, во второй -- координаты вершины B. Сначала задается координата по оси X, все числа не превосходят по модулю 10000.
  Файл результата Координаты точки C через пробел и символ перевода строки. Если координата оказывается дробной, она округляется до меньшего по модулю целого числа.
  Пример input.txt
0 0
1 1
output.txt
2 -1

В ходе решения данной задачи возник конфликт. И я, и Юра написали по варианту программы, но Юрин вариант делал работу в лоб, через косинусы. Я упорно искал ошибку в его варианте, пытаясь найти тест, где наши программы давали бы разные результаты. Не нашел (хотя, понятное дело, я не смог перебрать все варианты). Сдали мой вариант. Он прошел, но спор надо было решить, поэтому мы подсунули Юрино решение другой команде, те его сдали и оно тоже прошло.

Задача 3.1
  Условие Найдите сумму простых чисел, не превосходящих заданного N.
  Входной файл Натуральное число N <= 10000000.
  Файл результата Сумма простых чисел, не превосходящих N, и символ перевода строки.
  Ограничения Время: 1 с (Pentium III 1400MHz), память: 1000000 байт.
  Пример input.txt
11
output.txt
28

Обидный просчет. Чего я только не делал, чтобы решить эту задачу! Рисовал матрицы, пытался найти что-нибудь в энциклопедиях! А надо было просто составить табличку ответов через 1 миллион, а для 1 миллиона чисел простые выбрать можно.

Задача 3.3/4.3
  Условие Перед игрой в русскую рулетку офицеры задумались: сколько существует различных способов вставить в N-зарядный барабан K патронов. При этом способы, получающиеся друг из друга вращением барабана они решили считать одинаковыми. Срочно помогите офицерам.
  Входной файл Натуральные числа N и K (2 <= N <= 50, 1 <= K <= N) через пробел и символ перевода строки.
  Файл результата Количество различных способов и символ перевода строки.
  Ограничения Время: 1 с (Pentium III 1400MHz), память: 1000000 байт.
  Пример input.txt
6 3
output.txt
4

Самая удачная моя работа, поскольку я ее сделал, а прочие команды не могли сделать ее 2 тура. Поэтому задача была дана и в 4-м туре. Причем, чтобы сдать ее второй раз, понадобилось 10 минут попыток извлечь ее из наших ящиков, поскольку взять эту задачу в школу я забыл.

После CooperTeam. На самом деле CTeam прекратила свое существование.  Н. М. Пульцин ушел из ФТШ и факультатива "Решение задач по программированию" больше нет. На командную городскую олимпиаду я в этом году поехал в составе сборной команды (Павел Ступников, 2004а, Владимир Полевиков, 2004б, Андрей Самусенко, 2004в). Это уже, как говорится, совсем другая история. Но это, я считаю правильно. Все должно заканчиваться, но, по возможности, красиво. Думаю, у меня получилось сделать эффектный финал и с почетом отправить CTeam в историю.