808,9
рейтинг
2 сентября 2014 в 18:09

Разработка → Первая Всесоюзная олимпиада школьников по программированию (информатике) 1988 года

Это первая публикация про первые школьные олимпиады по программированию/информатике. Вторая будет про 1989 год.
1988 — Первая Всесоюзная
1989 — Первая Всероссийская
1989 — Первая Международная

Приглашаю всех читателей попробовать свои силы в решении задач. (И дать порешать задачки своим знакомым школьникам)

Контекст


1988 год был годом утраты Ершова, Митник проходил курс лечения от компьютерной зависимости в тюрьме нестрогого режима, Моррис выпустил своего червя на свободу, федералы только-только перевели дух после поимки Поулсена, DARPA создала спецподразделение по компьютерной безопасности, немецкие хакеры проводили уже пятый Chaos Communication Congress, моя нога впервые вступила на московскую землю, в СССР в Свердловске (Екатеринбург) произошла первая Всесоюзная олимпиада школьников по информатике.

Про уровень техники того времени пост «Советские персональные компьютеры»

13-20 апреля 80 школьников из всех союзных республик 2 дня осваивали компьютеры Роботрон-1715 (справа на фото), а затем решали шесть задач.

Олимпиада состояла из двух туров — Теоретического (4 задачи) и Машинного (2 задачи).

История и предпосылки олимпиады по информатике
Олимпиадное движение по информатике, в отличие от таких предметов, как математика, физика и химия, имеет относительно недавнюю историю. Несмотря на то, что первый компьютер появился в 1949 году, понимание того, что с развитием компьютерной техники наступает эра новых информационных технологий, возникло только в конце 70-х годов.

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

К решению сложных задач преподавания школьной информатики сразу подключились выдающиеся ученые академики А.П.Ершов, Е.П.Велихов, Б.Н.Наумов и другие. Благодаря этому за достаточно короткий срок в стране сформировались коллективы, которые могли, опираясь на всю нашу образовательную, научную, промышленную и культурную компьютерную инфраструктуру, решать поставленные в образовании задачи и в короткие сроки.

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

Сейчас трудно говорить, у кого первого возникла идея проведения всесоюзных олимпиад школьников по информатике, но вполне очевидно, что такой интересный и быстро развивающийся предмет не мог долгое время оставаться без олимпиады. Осенью 1987 года в Министерстве просвещения СССР состоялось первое организационное совещание, на котором присутствовали академики А.П.Ершов, Н.Н.Красовский, д.ф.-м.н. А.Л.Семенов, к.т.н. доцент В.М.Кирюхин, а также представитель министерства и член Центрального оргкомитета Всесоюзной олимпиады школьников Т.А.Сарычева. На совещании было принято решение провести первую в стране олимпиаду школьников по информатике весной 1988 года в г.Свердловске, ныне Екатеринбург.

Свердловск был не случайно выбран городом проведения первой олимпиады: в то время во многие школы города и Свердловской области уже были поставлены персональные компьютеры «Роботрон-1715», была разработана современная по тому времени программа и учебники для преподавания школьной информатики.

На первом организационном совещании было согласовано также Положение об олимпиаде по информатике и назначены председатели программного комитета и жюри. Председателем программного комитета стал академик А.П.Ершов, председателем жюри — академик Н.Н.Красовский.

Первая олимпиада по информатике, прошедшая с 13 по 20 апреля 1988 года в Свердловске, носила название еще не Всероссийской, а Всесоюзной, в ней приняли участие 80 школьников из всех союзных республик.

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

Количественный состав участников первых олимпиад определялся с учетом имеющихся возможностей в обеспечении компьютерами и пропорционально численности школьников в союзных республиках и территориях Российской Федерации.

Начиная с III Всесоюзной олимпиады, прошедшей в 1990 году в г.Харькове, было решено проводить оба тура олимпиады с использованием компьютеров. До этого I тур был теоретическим, без использования компьютеров, II тур — практическим.

Олимпиада, прошедшая в 1992 году в г.Могилеве, носила название Межгосударственной, в ней приняли участие школьники из практически всех государств, образовавшиеся после распада СССР.
Одновременно с Всесоюзными с 1989 года по 1991 год проводились и Всероссийские олимпиады, являвшиеся республиканским этапом Всесоюзной олимпиады. Начиная с 1992 года, они начали проводиться в том же формате, что и Всесоюзные олимпиады по информатике.

В 1992 году было принято новое Положение о Всероссийских олимпиадах школьников, согласно которому третий этап стал проводиться органами управления образованием субъектов Российской Федерации, а заключительный этап — Министерством образования Российской Федерации. Победители третьего этапа олимпиады всех субъектов Российской Федерации приглашались сразу для участия в заключительном этапе олимпиады.

В 1992-1996 годах столицей олимпиадного движения по информатике был г.Троицк Московской области, что было связано с наличием там специализированного Троицкого центра информатики «Байтик» и, как следствие, хорошим компьютерным оснащением. В 1997-1999 годах заключительный этап олимпиад проводился в Санкт-Петербурге. В последующие годы успешное развитие экономики страны и возросшее внимание федеральных и региональных органов управления образованием вопросам информатизации образования позволили существенно расширить географию проведения заключительного этапа всероссийских олимпиад по информатике: в период с 2000 по 2005 Олимпиада проводилась в городах Троицке, Екатеринбурге, Перми, Санкт-Петербурге, Тверской области и Новосибирске.

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

Бессменным председателем Центральной методической комиссии по информатике является В.М.Кирюхин. Старейшими членами этой комиссии являются известные в стране ученые и педагоги в области школьной и олимпиадной информатики — профессора С.М.Окулов, В.В.Прохоров, И.В.Романовский, доценты А.В.Алексеев, С.Г.Волченков, Е.В.Андреева, В.Д.Лелюх.
old.info.rosolymp.ru/default.asp?trID=96


Теоретический тур


15 апреля. Выполнялся письменно, без доступа к компьютеру. 3,5 часа на выполнение заданий. Языки — Паскаль, Рапира, Си, Алгол, Фортран, алгоритмический язык курса информатики и пр.

Задача на составление алгоритма считается решенной, если представленный алгоритм правилен (удовлетворяет всем требованиям условия). Жюри имеет право счесть задачу нерешенной, если алгоритм настолько запутан, что жюри не удалось установить его правильность или неправильность. Дополнительные баллы могут быть присуждены за простоту и оригинальность алгоритма, обоснование его правильности, наличие комментариев, облегчающих его чтение, а также за эффективность алгоритма (малое время работы, малую используемую память). В конце некоторых задач указана эффективность известных жюри алгоритмов; эти указания не являются обязательными требованиями. Оценка может быть снижена за серьезные синтаксические ошибки в записи алгоритма, затрудняющие его понимание.

Задача 1:



Задача 2:



Задача 3:



Задача 4:



Машинный тур


Допустимыми языками программирования были Бейсик или Паскаль

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

Задача 1:



Задача 2:



Разбор задач был проведен 18 апреля утром, а вечером была апелляция.

На следующий день состоялась торрентовка обмен компьютерными программами среди участников компьютерного фестиваля.

Призеры


По итогам олимпиады первым чемпионом стал Александр Ващилло (живет в Америке, работает в MS), ученик средней школы №239 г.Ленинграда. Второе место занял Вадим Завалишин (вроде бы как работает со звуком, упоминался в статье на Хабре, его книга), ученик средней школы №542 при МИФИ г.Москвы, а третье место — Вячеслав Калашников из средней школы №57 г. Москвы.





(интересно, есть ли кто из них на Хабре)

Решения когда-то лежали здесь
Статья в журнале «Квант»
Я решил… задач

Проголосовал 241 человек. Воздержалось 724 человека.

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

Алексей @MagisterLudi
карма
100,5
рейтинг 808,9
1-й
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Спецпроект

Самое читаемое Разработка

Комментарии (59)

  • 0
    Девушка кстати известно как выступила, не?
    • +18
      Если вы про первое фото, то еще не факт, что это девушка ))
  • +4
    О, и Гор Нишанов здесь :) В одной школе учились (сейчас она правда уже не с.ш., а ФМЛ №61 г. Бишкек). Насколько я знаю, также работает в MS.
  • 0
    Результаты не загружаются. Может, под спойлер?
  • НЛО прилетело и опубликовало эту надпись здесь
    • +11
      Так алгоритм и так дан, переписать его на любом доступном высокоуровневом языке — не проблема (даже тогда). Задача состоит в том, чтобы без компьютера рассчитать, что программа вывела бы на экран после запуска.
      • –3
        Ну, положим, вывод всех делителей с учётом кратности тут виден довольно прозрачно. Когда бы они знали про то, что спустя 20 лет будет представлять собой минифицированный javascript…
        Ну, или тот же ioccc, где сокрытие смысла возведено в ранг искусства.

        Однако да, с тем, что условия у них были суровы, не поспоришь.
        Тогда: без доступа к компьютеру решай задачку за олимпиадные часы.
        Сейчас: google, stackoverflow, google, msdn, пишем, ух ты, codeproject!……… итого в ютреке таск закрыт за 8 часов. Совершенно необязательно, что алгоритмически более сложный (а то и вообще не более сложный).
        • 0
          Во первых, все-же код должен быть написан так, чтобы его понимали люди и иногда машины. Минификация и обфускация имеют совсем другие причины и преследуют иные цели.
          Во вторых, пусть в 88 мне было только 8 лет, но в уже в 95 я во всю строчил говнокод на листочках бамаги
          В третьих, сейчас, есть задачи не имеющие даже общего решения, задачи вполне типовые(кажется на первый взгляд), форкать библиотеки и подпиливать под свои частные условия, тоже регулярно приходится. Нередки проекты в которых 20% тасков закрываются 80% времени. И никакие гугли с мсднами не помогут.
          • 0
            Трижды верно, но не звучит опровержением. Я ни в коем случае не настаиваю, что так всегда и везде, и с каждым таском, и с каждым пользователем.
            Единственное, я был некорректен в первом предложении — вывод всё-таки простых делителей.
        • +2
          «Тогда» и «Сейчас» вы что вообще сравниваете?

          Сейчас на Всероссийских олимпиадах доступа к интернету тоже нет. Хотя инструментарий и стандартизация, конечно, расширились. Да и типы задач/сложность.
          • +1
            Не столько сравниваю, сколько просто замечаю, что тогда приходилось держать всю задачу и весь код в голове, а сейчас — есть не только быстрый комп (для задач попроще уже это — решающий фактор), но и отладчик (а вот уже это очень много и «решает» в случае задач посерьёзнее).

            Ну и, благодаря инструментарию, появилась возможность ставить и решать задачки потяжелее. В голове-то, наверное, что-нибудь из динамического программирования тяжко было бы держать целиком…
            • +2
              Ту же четвёртую задачу за разумное время не очень-то напишешь. Если на бумажке достаточно написать «сливаем отсортированные блоки на 10 лентах и записываем на новую ленту», то на компьютере это пришлось бы программировать — а там столько мелочей, что времени на их проработку может не хватить. На командной студенческой олимпиаде с ней, может быть, и справятся. Да и то только сильные.
              • 0
                Зависит от опыта аккуратного написания алгоритмов. Например, я не вижу в MergeSort (для двух лент) никаких случаев и мелочей — код очень простой: один цикл и один if.
                • 0
                  Не забывайте, что там нужно постепенно укрупнять блоки (сначала будут отсортированы блоки из одного элемента, потом из двух, потом из четырёх..), что некоторые блоки могут быть неполными, что результат слияния надо либо сразу записывать на две ленты, либо потом переносить половину с одной ленты на другую, что число блоков на лентах может оказаться разным… Да, мелочи. Но одним циклом обойтись будет сложно. А поскольку требуется «быстрее», то надо ещё предусмотреть какое-нибудь блочное чтение — отдельный запуск магнитофона для чтения каждой записи может быть дорогим.
                  • +2
                    Если делать с фиксированным размером — то так даже проще, чем если брать максимальные по включению неубывающие блоки.

                    И я всё еще не отрекаюсь от своего утверждения. Вы меня сейчас даже заинтересовали, надо будет попробовать и сюда запостить. Хотя да, еще потребуется внешний цикл по длине блока, потому что надо сортировку, а не простое слияние.

                    Блочное чтение — да, не предусмотрел. Кажется, что просто выделяется один слой абстракции (читать как «функция чтения с ленты, кэширующая результат») и, опять же, в самом алгоритме ничего сложного.

                    Вы меня заинтриговали, challenge accepted.
            • 0
              Почему же «в голове»? В голове и на черновике, думаю — а это уже существенное подспорье.

              Например, я и многие мои знакомые из инструментария используют только редактор с подсветкой синтаксиса, компилятор и (очень редко) gdb в режиме «покажи мне, в какой строчке упала программа», Остальное — мозг, черновик, проработка, чтение кода, что можно было делать и тогда. Хотя и отладчики тоже используют. Но, например, на командных это жутко неэффективное использование компьютерного времени — вдумчивое чтение кода.

              Более сложные задачи — я скорее отношу это к общему повышению уровня (что хорошо наблюдается в том числе и в последние годы), и бОльшему распространению олимпиад. Например, по воспоминаниям Андрея Лопатина в 2000-2001 году для победы в финале ACM ICPC хватало просто «быть крутым программистом, знать какие-то алгоритмы и офигительно работать в команде». Сейчас к этому необходимо добавить огромный опыт решения именно олимпиадных задач, недюжинной аккуратности и знания чего-то не самого тривиального из Computer Science.

              ДП, вычислительная геометрия и прочее — я не знаю, как тут может помочь компьютер. Только бумажка и аккуратность.
              • 0
                Прикольно показывать Junior'ам, сразу запускающим debug, что путем чтения кода можно найти ошибку быстрее, чем соберется проект. :-) А без сборки и запуска, ясно-понятно, в debug не попадешь. Еще и тестовые данные нужно подготовить, попасть в нужный сценарий…

                Хотя иногда отладчик незаменим — бывает и такое.
    • 0
      Давайте задачу №4 на C#.
      • +4
        Вряд ли C# пойдёт на ЭВМ с 64 КБ памяти :(
        • 0
          Да, внешняя сортировка на 30 лентах — это жестоко. Основная проблема, как и ожидалось, была с неполным блоком — на выходных лентах он должен быть только один, на любой стадии алгоритма.

          www.dropbox.com/s/4zo294kam8efziw/QueueSort.cs?dl=0

          В итоге поиск нужного человека в очереди выполняется примерно за 210 просмотров данных. Что любопытно, если длина фамилии ограничена 30 символами, то фамилии первого и последнего человека можно найти за один просмотр ленты, не пользуясь другими лентами! На это нужно меньше 8 КБ. Но на поиск более далёких людей этот алгоритм пока не обобщается.
          • 0
            Вы считаете, что все фамилии записаны на 1 ленту?
            • 0
              В этом варианте да. Ленты 0, 1, 2 должны быть не меньше 180 МБ, остальные — не меньше 12 МБ. Вариант, в котором ленты короткие (мне хватит 20 МБ на каждую), а фамилии исходно записаны на 10 лент, был бы сложнее, но ненамного.
              • 0
                Ах да, мы с вами же это обсуждали. Не дает покоя практический опыт с лентами, извините за дотошность.
  • –3
    Вроде разобрался с задачами, но не совсем ясно:
    1) Тут вычисляются все делители числа
    2) чистая геометрия с проверками условий
    3) на сколько я понял обход графа и алгоритм дейкстры
    4) работа с деревьями, но не совсем понял про магнитофоны, что имели в виду, что на касетах можно хранить инфу, так как в память не влезит? Ну можно хранить список на касете, Вирт об этом писал в книге какой-то + хранить не сами фамилии а их хеш.
    5) Цикл и длинная арифметика + вывод более простой арифметики для этой последовательности
    6) Бэктрегинг.
    • 0
      1) Незачет. Не все делители, а разложение на множители. Например, 12 делится на 2,3,4,6,12. А программа выведет 2,2,3
      4) Магнитофоны — означает, что вы не можете хранить во внешней памяти все данные сразу. Если фамилия не найдена на 1 из 32 лент, кому-то придется идти к лентопротяжке и ставить другую бабину.
      • 0
        Нет, магнитофоны — это и есть внешняя память. У нас это были бы файлы с последовательным доступом. Скорее всего, на каждой ленте могут уместиться все фамилии (причём по два раза). В сущности, задача на то, чтобы описать внешнюю сортировку, и правильно её использовать.
        • 0
          Нет, магнитофоны — это и есть внешняя память.

          Я это и сказал. Внешняя память с ограничениями.

          Скорее всего, на каждой ленте могут уместиться все фамилии (причём по два раза).

          Не согласен. Тогда не было бы ограничения по количеству лентопротяжек. 3млн пар по 32 символа это 183 МБт. На одну ленту дай бог 40 Мбт помещается.
          • 0
            Из условия: «упорядоченные пары фамилий записали на магнитофонную ленту». Значит, помещается.
            • 0
              Это означает тип носителя, а не количество единиц.

              К тому же, если следовать вашей логике, то записали на 1 бобину, а не на 32 — тогда указание количества лентопротяжек бессмысленно — у нас же одна лента только! Значит, «записали на ленту» означает только лишь тип носителя. Вы можете сказать «я записал архив на ленту», при том что сам архив состоит из 10 томов, следовательно, 10 лент. Просто никто не говорит «я записал на лентЫ».
              • 0
                Записали на одну ленту. Остальные пока пустые, и их можно использовать для работы программы. Возможно, авторы имели в виду что-то другое, но когда я читал подобную задачу у Кнута, то понял её так же (правда, там было «штук шесть» лентопротяжных устройств).
                • 0
                  Возможно, остальные ленты пустые, возможно, запись полного набора производится на 2-3 ленты (записать на 1 ленту 3 млн пар фамилий нереально. В 80х по крайней мере). Ладно, замнем; просто задача допускает чуть разную трактовку. Так или иначе — есть ограниченная внешняя память. Хоть на 31 единицу, хоть на 15 — смысл задачи тот же.
                  • 0
                    На самом деле, это неважно. Даже если фамилии записаны на 10 лентах из 30 (а остальные 20 пустые), решение почти не меняется.
      • 0
        1) я именно это и имел в виду.
    • 0
      3) Поправьте меня, если ошибаюсь, но разве здесь нужен алгоритм дейкстры? Ведь в данной задаче ребра без веса, а значит кратчайший путь — это путь с минимальным количеством ребер, и поэтому можно просто использовать поиск в ширину, нет?
      • 0
        Здесь требуется найти эйлеров цикл (путь, проходящий через все рёбра ориентированного графа).
        • 0
          Был невнимателен, каюсь! :)
    • 0
      Не будет, прогнал
      • 0
        Нет. Например, для N0=7 будет последовательность 7,22,11,34,17,52,26,13,40,20,10,5,16,4,2,1, т.е. N=15.
        • 0
          Угу. Это «числа-градины», про них 3n+1-гипотеза. Ещё вообще неизвестно, для всех ли чисел последовательность вырождается в цикл 4-2-1, если только её вдруг кто-нибудь уже не доказал. разумеется, во всех разумных олимпийских пределах там всё сходится — народ уже обсчитал в том числе и оооочень большие числа.
          • 0
            В примерах, которые даны в задаче, 32-битных чисел хватит. А вот float может и не хватить — и кто помнит, была ли на этих Роботронах double арифметика.
  • +12
    Вот интересно было бы почитать, как сложилась судьба каждого.
  • +6
    Как-то непонятно… В 1988-м я не участвовал, и на Союз не попал, но до областной олимпиады в 1989-м добрался, заняв там третье место. И:

    >80 школьников из всех союзных республик 2 дня осваивали компьютеры

    — Нас посадили за IBM с 3.5" дисководами с гибким(!) конвертом (как у 5.25") — я такие приводы больше никогда не видел и даже про такие не слышал :D До этого у меня был опыт работы только с БК-0010 и ДВК-2. У некоторых других участников — Yamaha MSX или даже ZX-Spectrum. Ничего, все участники разобрались с новой техникой в течении зачётного времени :) То есть нам показали, как запускать текстовый редактор и сказали, что интерпретируется программа GWBASIC'ом. Этого хватило, чтобы начать работать. И даже на то, чтобы разобраться, что умеет этот Бейсик времени тоже много не ушло :)

    >Теоретический тур. Выполнялся письменно, без доступа к компьютеру.

    У нас теоретический тур шёл в тот же день, что и практический (всего олимпиада занимала три, кажется, дня, но решали мы в один день — плюс по дню на заезд и подведение итогов). Просто задания делились на теоретические (алгоритмика) и практические (вычислительные).



    Но, вообще, ключевым моментов жизни эта олимпиада не была. Ключевой была олимпиада по химии за два года (1987) до этого. На ней я впервые увидел компьютер (не терминал, а стойку, которая самостоятельно жужжала приводами, елозила приводом 8" дисковода с открытым корпусом и т.п.) и вот тут моя судьба круто переменилась. Хотя связывать себя с компьютерами я тогда и близко не планировал, но семена были зарождены и в 1990-м, когда я уже учился в химико-технологическом, проросли в компьютерную одержимость :D
    • 0
      К прискорбию в вычислительные методы в химии тогда верили плохо, максимум где использовалась вычислительная техника так это в написании научных трудов в ChiWriter-е да в первичной обработке входящих аналоговых данных со всяких массспектрометров, дериватографов и иных анализаторов, да и то только из прибора на плоттер. Аналитикой результатов тогда занимались вручную, графики в таблицы, таблицы сравнивались, подводились итоги. С физической химией в те годы я завязал.
      Зато сейчас вычислительными методами кристалические структуры предсказывают, да и софт под любой анализатор индийскими специалистами накарябан.
      • 0
        >Зато сейчас вычислительными методами кристалические структуры предсказывают, да и софт под любой анализатор индийскими специалистами накарябан.

        Ну так это ж вопрос не веры/не веры, а доступных вычислительных мощностей :) Как в начале 1990-х доступное мощное железо появилось, так сразу и начали использовать активно вычислительные методы не только для расчёта процессов и аппаратов, как ранее. У меня однокурсник как раз кристаллические структуры много рассчитывал именно где-то с середины 1990-х.
        • 0
          Ну может быть в институтах с мощными ИТ факультетами так и было.
          Но я в 97 поступил в вуз и эту картину наблюдал. Ворд, автокад — потолок.
          Более того, я был особенно ценен, благодаря владению автокадом.
          • 0
            >Ворд, автокад — потолок.

            А, нет. Тогда у нас всё круче было :) Я думал речь именно о фундаментальных теоретических расчётах. Просто вычислительная практика в МХТИ к моему поступлению была мощная — там был отдельный факультет кибернетики химико-технологических производств (КХТП), открытый аж в 1960-м. Но это именно прикладной уровень, т.е. расчёты производств, автоматизация управления, численные методы для обработки данных и т.п. И на нашем, инженерном физико-химическом нас начали компьютерной практикой грузить с первого же курса в 1990-м. Всякая статистическая обработка экспериментальных данных, вычислительные методы моделирования и т.п. Хотя было видно, что внедряться всё это только начинает, колбасило с программой тогда сильно. Нас учили QBasic'у на PC XT, следующий за нами курс — Turbo Pascal (тоже PC). В 1994-м на расчётах всякого хим. оборудования окунулись в Фортран на СМ-4, хотя я на сдачу зачётов волюнтаристски приносил решения на C++ :D

            Весёлое было время… Забавно, что у нас со всего потока (больше сотни человек) едва ли десяток-другой пошёл работать по специальности. А вот по компьютерной части — чуть ли не половина. Из семи близких друзей один работает по специальности, один не по специальности, но в отрасли (Росатом), один и не по специальности, и не с компьютерами, двое работают с 1С (один — бухгалтер, другой — программист), один — админ, один — админ+программист. Ну и я в Web'е сейчас задержался :)
  • 0
    Это не СГКЦ случаем?
  • –8
    Фотографии такого качества как будто им лет 90, не меньше.
  • +2
    Интересно, сколько памяти давали в последней задаче. Если доступно 60 килобайт, и не пытаться вывести формулу, то у меня получилось посчитать до 140. При более аккуратном хранении промежуточных результатов можно было бы довести до 200, но там могло не хватить отведённого на написание времени.
    • 0
      таблицу, наверное, они подразумевали печатать (не запоминая) — на бумагу или на очень длинный экран.

      Да, самое суровое ограничение — это время.
      Возможно, тут может помочь (как минимум, самопроверке) вот такое наблюдение: искомое число совпадает с числом «выпуклых» путей на сетке к n-ой диагонали
      image
      («выпуклость» означает «на каждой следующей вертикали взято не больше, чем на предыдущей»), разрыв текущего блока означает переход на следующую вертикаль.
  • +6
    Аналогичная украинская олимпиада проходила 1987 году и мне там повезло занять 1ое место. До сих пор храню этот диплом как величайшую драгоценность :)
    • +7
      а можете подробнее рассказать?
      с текстом задач, с фоткой диплома, будет интересно
    • +2
      Если я ничего не путаю, то в 1987 году Украина входила в состав СССР, и по всем канонам Вы должны были бы участвовать и во всесоюзной, так?
      • +1
        Должен был. Но вместо этого ушел служить в армию
  • +2
    Увидел в списках призёров своего знакомого) Скинул ему ссылку, может отпишется!
  • 0
    Решения безнадежно утрачены? А то ничего не решил, но интересно же.
    • +2
      Работая над решением задачи всегда полезно знать ответ? (с) :-)
      Лучше порешайте на досуге.
      Ничто не сравнится с ощущением победы над задачей, которую никак не удавалось решить.
      Если, конечно, решение не слишком простое, иначе чувствуешь себя дураком. :-)
  • 0
    Немножко участвовал в городских-республиканских олимпиадах в 2000-2002. Задачи кажутся подозрительно похожими. :)
  • 0
    Вадим Завалишин действительно живет в Берлине и работает со звуком в NativeInstruments

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