Loading [Contrib]/a11y/accessibility-menu.js
ЗАДАЧИ
problems.ru
О проекте | Об авторах | Справочник
Каталог по темам | по источникам |
К задаче N

Проект МЦНМО
при участии
школы 57
Выбрано 2 задачи
Версия для печати
Убрать все задачи

Максимальное время работы на одном тесте: 1 секунда

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

Информация, записанная на билете, кодируется K числами (0 или 1). При этом непосредственно на билете записывается последовательность из N чисел (N ³ K) так, что числа, записанные на расстоянии K, совпадают. Таким образом, для проверки подлинности билета достаточно проверить, что все числа на расстоянии K совпадают. К сожалению, при считывании информации с билета иногда могут происходить ошибки - считается, что одно из чисел может исказиться (то есть 0 заменится на 1, или 1 - на 0). Такой билет все равно нужно считать подлинным. Во всех остальных случаях билет считается поддельным.

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

Формат входных данных

В первой строке входного файла d.in записаны числа N и K (1 £ N £ 50000, 1 £ K £ 1000, K £ N). Во второй строке записано N чисел, каждое из которых является 0 или 1 - информация, считанная с билета.

Формат выходных данных

В первой строке выходного файла d.out должно быть записано одно из двух сообщений - OK или FAIL (первое сообщение обозначает, что билет признан подлинным, второе - поддельным). В случае, если билет подлинный, во второй строке выведите 0, если все числа были считаны правильно, или номер числа, в котором при считывании произошла ошибка. Если возможных ответов несколько, выведите любой из них (в частности, если для признания билета подлинным можно считать, что ошибок при считывании не было, а можно считать, что была ошибка в одном из чисел - правильным является любой из вариантов ответа).

Примеры

d.in

d.out

6 2

1 0 1 0 1 0

OK

0

6 2

1 1 1 0 1 0

OK

2

6 2

1 1 1 0 0 0

FAIL

Вниз   Решение


Графики двух квадратных трёхчленов пересекаются в двух точках. В обеих точках касательные к графикам перпендикулярны.
Верно ли, что оси симметрии графиков совпадают?

Вверх   Решение

Задача 66108
Темы:    [ Графики и ГМТ на координатной плоскости ]
[ Исследование квадратного трехчлена ]
[ Перпендикулярные прямые ]
[ Центральная симметрия помогает решить задачу ]
[ Производная и касательная ]
[ Примеры и контрпримеры. Конструкции ]
Сложность: 4-
Классы: 10,11
Из корзины
Прислать комментарий

Условие

Графики двух квадратных трёхчленов пересекаются в двух точках. В обеих точках касательные к графикам перпендикулярны.
Верно ли, что оси симметрии графиков совпадают?


Решение 1

Графики  y = ⅛ (x² + 6x – 25)  и  y = ⅛ (25 + 6 – x²)  имеют оси  x = ±3,  а пересекаются при  x = ±5.  Произведение тангенсов углов наклона касательных в точках пересечения равно  1/64 (2·5 + 6)(6 – 2·5) = –1.  Значит, касательные в этих точках перпендикулярны.


Решение 2

Рассмотрим параболу  y = x².  Найдём на ней две точки A и B с разными ординатами, в которых касательные a и b перпендикулярны. Отразим параболу относительно середины O отрезка AB. У новой параболы касательная в точке A параллельна b, то есть перпендикулярна a. Аналогична ситуация в точке B. Поскольку точка O не лежит на оси ординат, оси парабол не совпадают.


Ответ

Неверно.

Замечания

6 баллов

Источники и прецеденты использования

олимпиада
Название Турнир городов
номер/год
Номер 38
Дата 2016/17
вариант
1
Вариант весенний тур, базовый вариант, 10-11 классласс
задача
Номер 5

© 2004-... МЦНМО (о копирайте)
Пишите нам

Проект осуществляется при поддержке Департамента образования г.Москвы и ФЦП "Кадры" .