Информатика

15 724 задачивместе с подтемами
Число у задачи — рейтинг сложности, слово рядом — насколько она трудна по сравнению с другими задачами такого же типа. Шкалы задач с ответом и задач с кодом между собой не сравниваются. Рядом — счётчики попыток: успешные, неуспешные.
На Марсе есть большой полигон для испытания роботов. Он представляет собой таблицу из n строк и m столбцов, столбцы которой направлены с севера на юг, а строки — с запада на восток. В каждой клетке таблицы находится ускоритель, направленный в одну из сторон света.

Находясь в клетке, робот может воспользоваться ускорителем в ней. При этом он попадает в соседнюю с текущей клетку в направлении ускорителя и не тратит топливо. Если соседней клетки в направлении ускорителя нет, то им нельзя воспользоваться. Также робот может не пользоваться ускорителем и переместиться в любую из соседних клеток, затратив один литр топлива.

Сегодня роботу дали следующее задание: ему надо доехать из первой клетки первого столбца в последнюю клетку последнего столбца. Напишите программу, которая определит, какое минимальное количество топлива ему придется для этого потратить.

Рисунок ниже показывает полигон, заданный в примере. Ускорители показаны в виде стрелок. Заштрихованы клетки, по которым оптимально проехать роботу. Ускорители, которыми робот воспользовался, показаны жирными стрелками.


Входные данные
Первая строка входных данных содержит два числа n и m — протяженность полигона с севера на юг и с запада на восток ( 1 ≤ n , m ≤ 20 ).

Следующие n строк содержат по m латинских букв, описывающих направления ускорителей в очередной строке. Буква соответствуют направлению ускорителя: N — на север, W — на запад, S — на юг, E — на восток. Строки занумерованы с севера на юг, а столбцы с запада на восток. Таким образом, направление на север соответствует уменьшению номера строки, направление на юг — увеличению номера строки, направление на запад — уменьшению номера столбца, а направление на восток — увеличению номера столбца.

Выходные данные
Выведите одно целое число — минимальное количество литров топлива, которое должен потратить робот, чтобы выполнить задание.

 
Примеры
Входные данные Выходные данные
1 5 3
SSN
NSN
SWN
SWE
ENS
2
✓ 4✗ 111 300средняяВойти и решать
Маше на день рождения подарили набор матрёшек!

Теперь Маша сидит и вкладывает их одну в другую. Она заметила, что матрёшки отличаются по размеру, и одна помещается внутри другой, только если ее размеры строго меньше. Так, если есть две матрёшки i и j , а их размеры ai и aj соответственно, то матрёшка i вкладывается внутрь матрёшки j тогда и только тогда, когда ai < aj . Разумеется, непосредственно внутрь матрёшки можно вложить только одну другую матрёшку, иначе получится неаккуратно, а Маша — очень аккуратная девочка.

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

Входные данные
В первой строке находится число n — количество матрёшек, подаренных Маше ( 1 ≤ n ≤ 1000 ). В следующей строке через пробел находятся n чисел — размеры матрёшек. Число ai , стоящее на месте i , задает размер матрёшки с номером i ( 1 ≤ ai ≤ 10 000 ).

Выходные данные
Выведите одно число — максимальное количество матрёшек, которые можно вложить друг в друга.
 
Примеры
Входные данные Выходные данные
1 3
2 10 2
2
2 6
2 1 2 1 3 4
4
3 4
3 1 4 2
4
Каждый год в одном из уголков нашей вселенной проходят Интеллектуальные Олимпийские Игры. В этом году честь проводить это масштабное мероприятие выпала планете Юпитер. Вам предстоит отобрать две команды на Игры из имеющихся n кандидатов в сборную.

Все кандидаты являются школьниками, каждый кандидат учится в определенном классе. Как и на Земле, на Юпитере 11 классов, пронумерованных от 1 до 11. На Игры отбирается две команды по результатам отборочных соревнований. На соревнованиях проводится пять отборочных туров. По итогам каждого тура каждый школьник может набрать от 0 до 300 баллов, чем больше, тем лучше.

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

Все туры уже проведены, и получилось так, что любые два кандидата набрали в сумме различное количество баллов. Осталось лишь написать программу, которая по имеющимся данным о кандидатах и результатах туров определит тех восьмерых, которые защитят честь Юпитера на Интеллектуальных Олимпийских Играх и докажут, что Юпитер — суперпланета!

Входные данные
Первая строка входных данных содержит единственное число n — количество кандидатов в сборную Юпитера ( 8 ≤ n ≤ 500 ).

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

Номер класса является числом от 1 до 11, а результат на каждом туре — числом от 0 до 300.

Гарантируется, что все участники имеют различные суммарные баллы.

Гарантируется, что есть хотя бы 8 кандидатов, обучающихся не в 11 классе.

Выходные данные
Выведите две строки.

Первая строка должна содержать четыре целых числа, разделенных пробелами — номера кандидатов, которые попадут в первую команду Юпитера. Кандидаты нумеруются с единицы в порядке их появления во вводе. Выводить номера следует в порядке возрастания.

Вторая строка должна описывать вторую команду Юпитера в аналогичном формате.
 
Примеры
Входные данные Выходные данные
1 10
9 50 271 287 282 42
10 230 241 137 14 240
10 276 109 300 197 300
8 205 292 194 232 74
10 294 291 299 300 255
9 195 275 265 134 9
11 204 259 96 263 83
7 141 223 85 84 26
11 286 294 289 221 261
10 277 52 117 272 262
3 4 5 9
1 2 6 10
Арсений — молодой перспективный спортсмен. Всё, что любит делать Арсений — это тренироваться и вкусно есть. Также он отличается пунктуальностью. Только что он составил расписание из n пунктов: для каждого из следующих n часов он решил, что будет делать в это время — тренироваться или есть.

Арсений показал расписание своему тренеру, но ему оно не до конца понравилось. Тренер объяснил, что тренироваться в следующий час после приёма пищи вредно для здоровья.

Теперь Арсений хочет изменить свое расписание так, чтобы он ни разу не тренировался непосредственно после еды. При этом он хочет изменить минимальное число пунктов своего расписания. Помогите Арсению!

Входные данные
В первой строке входных данных содержится число n — количество пунктов в расписании Арсения ( 1 ≤ n ≤ 105 ).

Во второй строке содержится исходное расписание Арсения. Это строка s длины n , состоящая только из латинских букв « t » и « e », при этом если на позиции i в строке s стоит буква « t », то это значит, что в i -м часу Арсений запланировал тренироваться, а если на этой позиции стоит буква « e », то это значит, что в i -м часу Арсений запланировал есть.

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

Во второй строке выведите строку из n латинских букв « t » и « e » — изменённое расписание в том же формате, что и во входных данных. Если подходящих расписаний несколько, выведите любое из них.
 
Входные данные Выходные данные
1 6
tttete
1
ttteee
2 5
tttte
0
tttte
3 9
eeeeetttt
4
eeeeeeeee
На Марсе используют систему счисления с основанием k . В отличие от привычной нам десятичной системы счисления, в этой системе счисления k цифр со значениями от 0 до k - 1 , а вес цифры в i -м разряде равен ki .

Например, пусть k = 8 . Запись 3578 означает число 3·8 2 + 5·8 + 7 , в более привычной землянам десятичной системе счисления это число записывается как 23910 . А число 19210 , в системе счисления с основанием 8 записывается как 3008 .

Ильдар — юный марсианин, и он очень любит круглые числа. Ильдар называет число достаточно круглым , если его запись в системе счисления с основанием k заканчивается хотя бы на n нулей. Сегодня Ильдар хочет найти i -е по порядку достаточно круглое число.

Помогите Ильдару, найдите i -е достаточно круглое в системе счисления с основанием k натуральное число и выведите его в десятичной системе счисления. Ильдар очень дружелюбен и гарантирует, что ответ в десятичной системе счисления не превосходит 1018 .

Входные данные
Все ограничения на числа в этой задаче заданы в десятичной системе счисления. Все числа во вводе также записаны в десятичной системе счисления.

Первая строка входных данных содержит число k — основание системы счисления, которую использует Ильдар ( 2 ≤ k ≤ 109 ).

Вторая строка входных данных содержит число n — минимальное количество нулей на конце достаточно круглого числа ( 0 ≤ n ≤ 100 ).

Третья строка входных данных содержит число i — порядковый номер достаточно круглого числа, которое интересует Ильдара ( 1 ≤ i ≤ 109 ).

Выходные данные
Выведите одно число — запись в десятичной счистеме счисления i -го по порядку достаточно круглого в системе счисления с основанием k натурального числа. Гарантируется, что ответ не превышает 1018 .

Обратите внимание, что ответ может не поместиться в стандартный 32-битный тип данных. Надо использовать 64-битный тип, в паскале он называется « int64 », в C++ « long long », в Java « long ». Если вы пишете на языке Python, то волноваться не надо, в Python встроенный целочисленный тип не имеет ограничений на величину числа.
 
Входные данные Выходные данные
1 8
2
2
192
Пятиклассник Лёня недавно прочитал статью о числах Фибоначчи.

Числами Фибоначчи называется числовая последовательность F1 , F2 , ..., Fn , ... , которая устроена следующим образом: F1 = 1 , F2 = 2 , а каждое следующие число вычисляется как сумма двух предыдущих: если i ≥ 3 , то Fi = Fi - 1 + Fi - 2 . Последовательность чисел Фибоначчи, таким образом, начинается с чисел 1, 2, 3, 5, 8, 13, 21, ... .

Сегодня Лёня изучает числа Фибоначчи с номерами от L до R , включительно. Так как Лёня очень любит число 3, ему стало интересно, сколько чисел Фибоначчи среди тех, которые он изучает сегодня, делятся на 3. Например, если L = 3 и R = 7 , то Лёня будет изучать числа F3 = 3 , F4 = 5 , F5 = 8 , F6 = 13 и F7 = 21 . Среди них на 3 делятся два числа: F3 = 3 и F7 = 21 .

Напишите программу, которая поможет Лёне найти ответ на волнующий его вопрос.

Входные данные
Первая строка входных данных содержит число L , а вторая — число R ( 1 ≤ L ≤ R ≤ 105 ).

Выходные данные
Выведите единственное число — количество чисел Фибоначчи с номерами от L до R , включительно, которые делятся на 3.
 
Входные данные Выходные данные
1 3
7
2
✓ 12✗ 37800средняяВойти и решать
Максим вырос, разочаровался в большой науке и теперь работает авиадиспетчером. Каждый день он делает очень важное и ответственное дело: сажает самолеты.

Этот процесс не такой уж сложный, как может показаться на первый взгляд. В аэропорту, в котором работает Максим, всего одна посадочная полоса, поэтому самолеты должны садиться по очереди. Посадка занимает b минут. Если самолет прилетел, а посадочная полоса занята, его отправляют совершать дополнительные круги над городом до тех пор, пока он не прилетит к аэропорту со свободной взлётно-посадочной полосой. Один круг занимает f минут. Если посадочная полоса свободна, самолёт немедленно начинает посадку. Если несколько самолётов подлетают к аэропорту со свободной посадочной полосой одновременно, то один из них идёт на посадку, а другие отправляются совершать дополнительные круги.

Сегодня в аэропорт должны прилететь n самолетов, известно время прилета каждого из них. За какое время все самолёты совершат посадку?

Входные данные
В первой строке даны три целых числа n, b, f — количество самолетов (1≤n≤1000), время, которое занимает посадка и время, которое занимает один круг над аэропортом (1≤b, f≤109  ). В следующей строке дано n целых чисел ti — времена прибытия самолетов, перечисленные в произвольном порядке (0≤ti≤109 ).

Выходные данные
Выведите одно число: время, за которое все самолёты совершат посадку.
 
Примеры
Входные данные Выходные данные
1 10 5 12
13 0 1 10 20 20 2 1 10 20
79
В этой задаче мы снова возвращаемся в младшую группу детского сада «Телепузики». Чтобы окончательно успокоить детей, воспитательница решила включить им мультик про Тома и Джерри. Серия, которую сейчас смотрят дети, довольно-таки незамысловата — в ней Джерри развесил по потолку комнаты наковальни на веревках. Когда Том оказывается под очередной наковальней, Джерри перерезает веревку. Наковальня падает на Тома, Тому больно, всем остальным весело, дети смеются. В общем, вполне обычная серия.

А вам нужно по кадру из этой серии определить, упадет ли наковальня на Тома, если Джерри перережет веревку.

Входные данные
Вам дана ASCII-арт картинка, то есть картинка, нарисованная символами. На ней есть наковальня, привязанная веревкой к потолку, и кот Том. В первой строке даны числа N, M (4≤N≤100, 1≤M≤100 ). Следующие N строк состоят из M символов каждая, и представляют собой саму картинку. Картинка устроена следующим образом:
  • Первые K1 строк в одной и той же позиции X1 стоит символ «|», в остальных — пробел. Это веревка.
  • Следующие K2 строк в одних и тех же позициях с X2 по X3 стоит символ «#», в остальных — пробел. Это наковальня.
  • 2×X1=X2+X3, то есть наковальня подвешена за середину.
  • Следующие K3 строк содержат только пробелы. Это пустота между наковальней и котом.
  • Следующие N − K1 − K2 − K3 строк содержат произвольные символы. Любой символ, кроме пробела — часть кота. Существует хотя бы один непробельный символ.
Числа K1, K2, K3 и N − K1 − K2 − K3  ненулевые.
Выходные данные
Выведите «YES», если при падении наковальня заденет Тома, в противном случае выведите «NO».
 
Примеры
Входные данные Выходные данные
1 13 29
          |                  
          |                  
          |                  
    #############            
    #############            
    #############            
                             
                             
            /\_/\            
            >^.^<.---.       
           _'-`-'     )\     
          (6--\ |--\ (`.`-.  
              --'  --'  ``-' 
YES
2 16 30
    |                         
 #######                      
 #######                      
 #######                      
 #######                      
                              
            ,                 
           \)\_               
          /    '. .---._      
        =P ^     `      '.    
         `--.       /     \   
         .-'(       \      |  
        (.-'   )-..__>   , ;  
        (_.--``    (__.-/ /   
                .-.__.-'.'    
                 '-...-'      
NO
А мы, тем временем, возвращаемся в поезд Москва-Адлер, где Максим все-таки был пойман папой, и три рулона туалетной бумаги не были выпущены из окна первого вагона («Ну паааап, ну мне было интересно, что длиннее — поезд или бумага, ну не надо за ухо»).

Теперь Максим сидит в купе вместе с мамой. Чтобы отвлечь его от продумывания деталей новых экспериментов, мама — неплохой математик — рассказала Максиму одну любопытную задачу («Мои студенты в среду ее так и не смогли решить, совсем считать разучились»).

Дано число x. Каждую его цифру нужно умножить на 19, прибавить к результату 40, полученное число снова умножить на 19, взять последнюю цифру этого произведения и поставить его на место исходной цифры в числе x. Вопрос: какое число получится в итоге?

Максим, впрочем, решил задачу гораздо быстрее, чем ожидала его мама, и, к сожалению, снова был готов к экспериментам. А сможете ли вы?

Входные данные
Дано целое число x (0≤x≤10000).

Выходные данные
Выведите одно число: ответ на задачу, которую мама рассказала Максиму.
Примеры
Входные данные Выходные данные
1 27 27
Дети, как известно, все раньше и раньше начинают пользоваться интернетом. Теперь, когда у них возникают вопросы, они не бегут к родителям, а заходят в свою любимую поисковую систему и узнают ответ в интернете. Но вдруг они случайно найдут что-нибудь, что им знать пока рановато? Или, может быть, лучше не знать вообще никогда?

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

Ваша задача — помочь правительству этой страны защитить детей от вредной информации. Напишите программу, которая будет проверять, нет ли в данной строке запрещенного слова, учитывая возможное коварство сайтовладельцев. Известно, что сайтовладельцы иногда делают следующие замены: e  3, o  0, i  1, t  7, a  4, s  5.

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

Выходные данные
Выведите «YES», если запрещенное слово встречается как подстрока в строке с сайта, и «NO» иначе. Возможно, в строке с сайта некоторые буквы изначально были заменены на цифры в соответствии с приведенными выше правилами.
 
Примеры
Входные данные Выходные данные
1 inah0leinthegroundthereliv3dah0bb1t
hobbit
YES
2 whath4v3igotinmypocket
handses
NO
3 whath4veig0t1nmyp0ck37
knife
NO
4 wh4thav31go71nmyp0ck3t
stringofnothing
NO
✓ 19✗ 31900средняяВойти и решать
Теория относительности — штука сложная. Это Максим, семилетний сын одного известного физика, знает уже давно. Из отцовских объяснений Максим понял, что свет — это самая быстрая штуковина в мире. А если кажется, что что-то все-таки быстрее, чем свет, то на самом деле оно движется со скоростью, равной скорости света — 299 792 458 м/с.

Так что по пути на море, убегая по поезду Москва-Адлер от чем-то очень недовольного папы, Максим совершенно не думал над тем, за что именно он сейчас получит и можно ли это было как-то предотвратить. Волновало его одно: с какой скоростью его папа бежит относительно Земли, если учесть теорию относительности? Поезд едет из Москвы в Адлер со скоростью v м/c, а папа бежит за Максимом в сторону головы поезда со скоростью u м/с относительно поезда.

Входные данные
Даны два числа v и u — скорость поезда относительно Земли и скорость папы Максима относительно поезда соответственно. Обе скорости неотрицательны и не превышают скорости света (299 792 458 м/с).

Выходные данные
Выведите одно число — скорость папы Максима относительно Земли, найденную с учетом представлений Максима о теории относительности.
Примеры
Входные данные Выходные данные
1 120 35 155
2 149896229 149896230 299792458
Когда настала зима и дел в Простоквашино стало мало, Шарик и Матроскин все дни проводили за настольными играми. Но шахматы, шашки, крестики-нлоики и домино им быстро надоели, а других игр у них не было. Поэтому они придумали новую игру.

Они выписывают на печке угольком 100 чисел. Потом по очереди каждый из них выбирает число с правого или левого края, прибавляет его к своей сумме и стирает число. Начинает игру Матроскин. Он выигрывает, если сможет набрать сумму, не меньшую, чем Шарик. По заданным числам определите, кто выиграет при оптимальной игре.

Входные данные
В единственной строке записаны через пробел 100 чисел ai (1≤ai≤1000)

Выходные данные
В ответ выведите Matroskin, если выигрывает Матроскин, иначе выведите Sharik. Если выигрывает Матроскин, то на следующей строке выведите оптимальный первый ход Матроскина: если он должен взять самое левое число, то выведите «left», если он должен взять самое правое число — выведите «right». Если Матроскину не важно, какое из чисел взять, выведите любое из слов «left» и «right».
Примеры
Входные данные Выходные данные
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 Matroskin
right
Начались каникулы, и дядя Фёдор, изрядно соскучившись по своим школьным друзьям, пригласил их всех в гости к себе в Простоквашино. После некоторых раздумий n из них согласились приехать. Взяв с собой все необходимые для отдыха на природе вещи, они приехали на вокзал покупать билеты. Выяснилось, что в поездах, идущих до Простоквашино, есть только купейные вагоны. В каждом вагоне всего k4 четырехместных купе и k2 — новых двухместных купе. Кроме друзей дяди Фёдора, никто не хочет ехать в Простоквашино, поэтому все места в поезде пока свободны. Друзья решили, что они хотят поехать все в одном вагоне: вместе ведь веселее. Чтобы поездка запомнилась надолго, один из друзей дяди Фёдора, Женя, решил одолжить у папы фотоаппарат «Зенит» и сфотографировать всех участников поездки, сидящих каждый на своем месте в поезде, по одному снимку на купе. Но пленка дорогая, а проявка — это долго и нудно, поэтому Женя попросил купить билеты так, чтобы вся дружная компания занимала как можно меньше купе. Помогите Жене посчитать, сколько в лучшем случае ему понадобится кадров, чтобы сфотографировать всю компанию, то есть посчитайте, сколько минимально купе они должны занять.

Входные данные
В первой и единственной строке вводятся числа n, k4 и k2 — количество друзей дяди Фёдора, едущих в Простоквашино, количество четырехместных купе в вагоне и количество двухместных купе в вагоне соответственно (1≤n≤1018, 0≤k4≤1018, 0≤k2≤1018).

Выходные данные
Выведите одно целое число — минимальное количество купе, в которых можно разместить всех друзей дяди Фёдора. Если же разместить всех друзей в одном вагоне не получится, выведите −1.
Примеры
Входные данные Выходные данные
1 10 5 3 3
Когда Дядя Фёдор уехал домой в город, следить за хозяйством остались Матроскин и Шарик. Но поскольку Дядю Фёдора очень волновали дела в Простоквашино, они договорились, что каждую неделю Матроскин будет писать письмо с отчетом о делах. Довольно скоро Матроскин понял, что письма идут слишком долго, поэтому решил отправлять телеграммы. Обычно отчеты очень длинные, поэтому Матроскину пришлось отправлять несколько телеграмм. Чтобы Дяде Фёдору было удобнее разобраться в пришедших телеграммах, Матроскин следует следущим правилам:

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

Помогите Матроскину разбить исходный текст на как можно меньшее количество телеграмм по приведенным выше правилам.

Входные данные
На вход подается строка из маленьких латинских букв и пробелов. Она не начинается и не заканчивается пробелами и никакие два пробела в ней не идут подряд. Длина строки не превышает 10000.

Выходные данные
В первой строке выведите число N – количество телеграмм, на которое надо разбить исходную строку. В следующих N строках выведите сами телеграммы. Если текст передать заданным способом невозможно, выведите −1.

 
Примеры
Входные данные Выходные данные
1 deesecnj vmguhee xhled rrr dfjhj fdytiaf baulvovt kvhygzhv wfaocftf scugmcqsk wadi bjeiq coesxqgnry tmlko gpmwns rcf dtdey bvirmlv gzl bwuoio 2
deesecnj vmguhee xhled rrr dfjhj fdytiaf baulvovt kvhygzhv wfaocftf scugmcqsk wadi bjeiq coesxqgnry tmlko gpmwns rcf dtdey bvirmlv gzl...
...bwuoio
✓ 3✗ 1421 200средняяВойти и решать
Как известно, кот Матроскин очень гордится своей коровой Муркой. Особенно он гордится телятами Мурки. На протяжении последних n лет у коровы Мурки рождалось по одному телёнку. При рождении вес телёнка составляет один килограмм. Каждый год каждый телёнок толстеет на два килограмма. Гордость кота Матроскина будет тем больше, чем больше средний вес телёнка. После рождения очередного телёнка в этом году Матроскин решил узнать степень своей гордости.

Помогите Матроскину узнать уровень его гордости, то есть найдите средний вес всех родившихся за n лет телят.

Входные данные
Вводится одно целое число 1<=n<=1000 — количество лет, которое у Мурки рождались телята.

Выходные данные
Выведите средний вес всех родившихся телят.
Примеры
Входные данные Выходные данные
1 3 3
На весенних каникулах Оля долго обдумывала свое поведение и решила в четвертой четверти заниматься учебой побольше. Но уже первый урок биологии в новой четверти уничтожил все Олины благие намерения. Оле скучно, просто невыносимо скучно. От нечего делать она начала играть на своем телефоне в известную игру «Сапер».

На всякий случай напомним, в чем заключается эта игра. Игра происходит на поле размером N × M клеток, некоторые из которых «заминированы». Целью игры является открытие всех клеток, не содержащих мины.

Игрок открывает клетки, стараясь не открыть клетку с миной. Открыв клетку с миной, он проигрывает. Если под открытой ячейкой мины нет, то в ней появляется число, показывающее, сколько ячеек, соседствующих с только что открытой, «заминировано». Клетки считаются соседствующими, если у них есть общая сторона или общая вершина. Клетки, которые игрок считает «заминированными», можно пометить флажком, чтобы случайно не открыть их.

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

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

Входные данные
В первой строке содержатся два числа N и M, разделенные пробелами — высота и ширина таблицы соответственно (1 ≤ N ≤ 15, 1 ≤ M ≤ 15). В следующих N строчках содержится по M символов в каждой. Эти строчки задают игровое поле. Используются следующие обозначения:

F — флажок;

* — закрытая клетка;

Цифра от 0 до 8 — открытая клетка. Сама цифра обозначает, сколько суммарно мин находится в клетках, соседствующих с данной.

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

Если подсвеченных флажков не будет, выведите единственное число 0
 
Примеры
Входные данные Выходные данные Пояснения
1 2 3
FFF
*2*
3
1 2
1 3
1 1
В тесте в клетке с координатами (2, 2) записано число 2, а касается она трех флажков, что больше двух. Значит, все эти три флажка будут подсвечены.
Приближалось лето, и Игорь, Гена и Денис решили пойти вместе в поход, как и в прошлом году. Почти все вопросы уже были решены: уже был проработан маршрут, куплены билеты на поезд, в шкафу у Дениса найдена четырехместная палатка, а под кроватью у Игоря — топор. Осталось решить только вопрос с продуктами.

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

Зато у них сохранилась переписка в социальной сети, где они спорили, кто сколько банок тушенки понесет. В этой переписке Игорь сначала предложил поделить всю тушенку в отношении a: b: c, так, что первую часть понесет сам Игорь, вторую — Гена, а третью — Денис. Но Денису это не понравилось, и он предложил поменять соотношение на d: e: f.

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

По данным двум отношениям a: b: c и d: e: f вычислите, сколько банок тушенки ребята покупали для прошлогоднего похода. Из всех возможных ответов выведите минимальный. Ребята помнят, что как минимум одна банка тушенки у них точно была.

Входные данные
В первой строке даны три целых положительных числа a, b, c, разделенные пробелами. Во второй строке даны три целых положительных числа d, e, f, также разделенные пробелами.

Все числа не превышают 1000.

Выходные данные
Выведите целое положительное число — количество банок тушенки.
 
Примеры
Входные данные Выходные данные Пояснения
1 10 3 7
3 1 1
20 При делении тушенки между ребятами в отношении 10:3:7 Игорь понесет 10 банок, Гена — 3 банки, а Денис — 7 банок. А в случае соотношения 3:1:1 Игорю достанется 12 банок, а Гене и Денису по 4.
Вася очень любит различные игры: шашки, шахматы, домино, крестики-нолики и т. д. Поскольку он играет в них уже достаточно давно, он успел изучить эти игры достаточно хорошо, и они стали скучными. Поэтому он теперь изобретает новые игры на основе тех, в которые уже наигрался. Недавно он изобрел игру «Доминошахматы».

Она состоит в следующем: Вася берет у дедушки большой кусок фанеры и раскрашивает его так, что у него получается шахматная доска размера N × M клеточек. Потом он берет кости домино и пытается покрыть ими полученную доску так, чтобы все клеточки были закрыты, не было наложений и никакие доминошки не торчали за края доски (каждая доминошка покрывает две соседние клетки).

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

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

Помогите Васе понять, можно ли это сделать.

Входные данные
В первой строке входных данных записаны числа N и M — размеры доски (1 ≤ N ≤ 200, 1 ≤ M ≤ 200, N·M > 2).

Во второй строке вводятся через пробел два целых числа — координаты x1 и y1 первой вырезанной клетки (1 ≤ x1 ≤ N, 1 ≤ y1 ≤ M).

В третьей строке вводятся через пробел два целых числа — координаты x2 и y2 второй вырезанной клетки (1 ≤ x2 ≤ N, 1 ≤ y2 ≤ M).

Первая и вторая клетки не совпадают.

Выходные данные
Выведите «YES», если доску с вырезанными клеточками можно покрыть доминошками, и «NO» в противном случае. (Запас доминошек у Васи бесконечный.)
 
Примеры
Входные данные Выходные данные
1 2 2
1 1
2 2
NO
2 2 2
1 1
1 2
YES
В одной маленькой стране разрешили открывать оффшорные компании, и туда тут же потянулись предприниматели с желанием открыть в ней свою фирму.

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


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

Каждая фирма хочет, чтобы ее телефонный номер было просто запомнить. Если набранное на телефоне название компании соответствует телефонному номеру компании, то номер очень легко запомнить, и ни один клиент его не забудет.

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

Входные данные
В первой строке вводится целое число N — количество новых фирм (1 ≤ N ≤ 103).

В последующих N строках вводятся названия фирм. Название каждой фирмы состоит из семи строчных латинских букв. Гарантируется, что названия всех фирм различны.

Выходные данные
Выведите одно число — максимальное количество фирм, которые смогут получить удобный номер.
Примеры
Входные данные Выходные данные
1 4
lacoste
hyundai
renault
peugeot
4
2 3
aaaaaaa
bbbbbbb
ccccccc
1
✓ 12✗ 13700средняяВойти и решать
Больше всего на свете Паша любит две вещи — музыку и порядок. Каждый день, когда Паша возвращается домой, он включает ноутбук, заходит на свою страничку в синей социальной сети и слушает добавленные к себе в аудиозаписи песни. Самое сложное — выбрать, с какой песни сегодня начинать слушать музыку.

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

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

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

По количеству песен у Паши в аудиозаписях выведите номер начальной песни на сегодня.

Входные данные
Дано натуральное число N. Гарантируется, что среди цифр числа N не встречается цифры 0. Все цифры числа N различны.

Выходные данные
Выведите единственное число — искомый номер начальной песни.
Примеры
Входные данные Выходные данные
1 321 9
Поделиться
Класснуть