Массивы(232 задач)
Типы данных(356 задач)
Циклы(177 задач)
Условный оператор (if)(164 задач)
Python(260 задач)
Standard Template Library(2 задач)
class Polynom: def __init__(self, coef): # coef[i] - коэффициент при (x ** i) ... def __str__(self): # x**3+-1x**2+0x**1+12x**0 ... def __add__(self, other): ... def __mul__(self, other): ... def __pow__(self, n): ...
Петя и Вася недавно нашли очень интересную игру. У них есть большой квадрат с ребром \(N\). Вася и Петя по очереди загадывают другие квадраты, лежащие внутри большого, после чего вырезают их (при этом часть загаданного квадрата уже может быть вырезана ранее либо выходить за пределы большого квадрата). После некоторого количества ходов они должны безошибочно назвать площадь оставшейся фигуры.
Зная размер большого квадрата и размеры малых, вырезаемых квадратов, вычислите площадь фигуры, полученной после того, как все малые квадраты будут вырезаны из большого.
В первой строке целое число \(N\) — размер ребра квадрата (\(1 \le N \le 100\)). Во второй строке целое число \(M\) — количество вырезаемых квадратов. В следующих \(M\) строках (\(1 \le M \le 13\)) содержатся тройки целых чисел \(X\), \(Y\), \(A\) (разделённые пробелом), которые задают квадрат с углами в точках с координатами \((X + 1, Y + 1)\) и \((X+A, Y+A)\). Считайте, что большой квадрат имеет координаты углов \((1,1)\) и \((N,N)\). Рёбра всех квадратов параллельны осям координат. (\(0 \le X, Y \le N\), \(1 \le A \le N\)).
Целое число \(S\) — площадь фигуры, получившейся после вырезания из большого квадрата всех малых квадратов.
6 3 3 3 3 4 4 2 5 5 1
27
Вы занимаетесь компьютерной безопасностью. Недавно один из ваших клиентов разработал новый тест, предназначенных для того, чтобы отличить человека от программы. Ваша задача — протестировать его эффективность.
Тест основан на игре «Морской бой». Эта игра проводится на клетчатом поле размером 10 × 10 клеток. Перед началом игры вы должны разместить десять кораблей на этом поле. Каждый корабль задается числом последовательных клеток, расположенных горизонтально или вертикально. Вы должны разместить один четырехклеточный корабль, два трехклеточных, три двухклеточных и четыре одноклеточных корабля. Никакие два корабля не могут иметь общую или соседние по стороне или углу клетки.
После того, как все корабли расставлены, тест продолжается в течение некоторого количества раундов. В каждом раунде выбирается одна клетка, по которой производится стрельба. Корабль тонет, если по каждой его клетке пришлось не менее одного попадания. Тест заканчивается, когда все корабли утонули.
Назовем сложностью расположения кораблей количество раундов, которое потребуется для того, чтобы завершить тест. Идея теста в том, что люди будут создавать более сложные расположения, чем программы.
Вы же выяснили, что порядок, в котором производится стрельба по клеткам, заранее задан, по каждой клетке стреляют ровно один раз. Теперь вам нужно написать программу, которая создает самое сложное расположение кораблей.
Входной файл состоит из десяти строк, каждая из которых содержит десять чисел. Каждое число обозначает номер раунда, в котором по соответствующей клетке будет вестись стрельба. Все числа различны и лежат в диапазоне 1... 100.
Выведите какое-нибудь оптимальное расположение кораблей для данного порядка стрельбы. Пустые клетки должны быть обозначены точкой ('.'), занятые клетки должны быть обозначены решёткой ('#').
1 2 3 4 5 6 7 8 9 10
36 37 38 39 40 41 42 43 44 11
35 64 65 66 67 68 69 70 45 12
34 63 84 85 86 87 88 71 46 13
33 62 83 96 97 98 89 72 47 14
32 61 82 95 100 99 90 73 48 15
31 60 81 94 93 92 91 74 49 16
30 59 80 79 78 77 76 75 50 17
29 58 57 56 55 54 53 52 51 18
28 27 26 25 24 23 22 21 20 19
...####...
..........
#....##...
#.#.....#.
........#.
...###....
.#........
........#.
..#.....#.
.....#..#.
Шаблоном называется любая непустая строка, состоящая из маленьких латинских букв и символов "*".
Будем говорить, что строка T подходит под шаблон P, если в P можно символы "*" так заменить на последовательности букв латинского алфавита (возможно, пустые), что в итоге получится строка T. К примеру, строка aadbc походит под шаблон a*b*c, т.к. можно первую звездочку заменить на последовательность букв ad, а вторую — на пустую последовательность, в результате чего получится искомая строка.
Циклическом сдвигом строки называется строка, полученная перемещением нескольких букв из строки в ее начало. Для заданного шаблона P и строки T найдите, сколько циклических сдвигов строки T подходят под шаблон P.
Первая строка входных данных содержит шаблон P, длиной не более 100 символов. Вторая строка содержит исходную строку T, длиной не более 100 000 символов. Все строки имеют длину не менее одного символа.
Выведите единственное число — искомое число циклических сдвигов, подходящих под шаблон.
aaaa
aaaa
4
a*a
aaaaaa
6
*a*b*c*
abacabadabacaba
15
Всем известно, что в 2012 году прошла Летняя Олимпиада в Лондоне, однако не каждый знаком с историей крупнейших спортивных соревнований. Традиция игр зародилась в Древней Греции, но была забыта по завершении античной эпохи и вновь появилась лишь в конце XIX века благодаря французскому общественному деятелю Пьеру де Кубертену.
С 1896 года вновь проводятся летние Олимпийские игры, а с 1924 — зимние, причём оба вида соревнований проходят раз в четыре года. Первое время зимняя и летняя Олимпиады проводились в один и тот же год, но в конце XX века Международный олимпийский комитет принял решение установить между разными видами Игр двухгодичный перерыв. Таким образом, 1992 год был в последний раз отмечен проведением одновременно летних и зимних Олимпийских игр, в 1994 проводились только зимние, в 1996 — летние, и с тех пор они продолжают чередоваться.
Известно также, что в 1916, 1940 и 1944 годах Олимпийские игры были отменены по причине Первой и Второй мировых войн, а в 1906 году проводилась внеочередная Олимпиада.
Требуется написать программу, которая по заданному году определит, проводились ли в этом году Олимпийские игры и были ли они летними или зимними.
На вход программе подаётся одно натуральное число N (1800 ≤ N ≤ 2014) — номер года.
Выведите «winter», если в этом году была проведена только зимняя Олимпиада, «summer», если только летняя, «winter summer», если прошли обе олимпиады, и «nothing», если в этот год олимпийских игр не проводилось.
1896
summer
1924
winter summer