Темы
    Информатика(2656 задач)
---> 180 задач <---
    1999(7 задач)
    2000(8 задач)
    2001(8 задач)
    2002(9 задач)
    2003(9 задач)
    2004(10 задач)
    2005(10 задач)
    2006(10 задач)
    2007(11 задач)
    2008(10 задач)
    2009(11 задач)
    2010(11 задач)
    2011(11 задач)
    2012(11 задач)
    2013(11 задач)
    2014(11 задач)
    2015(11 задач)
    2016(11 задач)
Страница: << 17 18 19 20 21 22 23 >> Отображать по:
#2515
  
Темы: [Цикл for]
Источники: [ Командные олимпиады, ВКОШП, 2009, Задача F ]
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
256 megabytes

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

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

Входные данные

Первая строка входного файла содержит числа \(n\) и \(p\) — число столбцов и номер столбца, в котором изначально находится пушка (\(1 \le n \le 100\), \(1 \le p \le n\)). Вторая строка содержит \(n\) чисел \(a_1, a_2, ..., a_n\), где \(a_i\) — число пришельцев в \(i\)-м столбце (\(1 \le a_i \le 100\)).

Выходные данные

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

Примеры
Входные данные
5 4
5 3 4 1 2
Выходные данные
20
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
256 megabytes

Дороги Нью-Манхэттена устроены следующим образом. С юга на север через каждые сто метров проходит авеню, с запада на восток через каждые сто метров проходит улица. Авеню и улицы нумеруются целыми числами. Меньшие номера соответствуют западным авеню и южным улицам. Таким образом, можно построить прямоугольную систему координат так, чтобы точка \((x, y)\) лежала на пересечении \(x\)-ой авеню и \(y\)-ой улицы. Легко заметить, что для того, чтобы в Нью-Манхэттене дойти от точки \((x_1, y_1)\) до точки \((x_2, y_2)\) нужно пройти \(|x_2-x_1|+|y_2-y_1|\) кварталов. Эта величина называется манхэттенским расстоянием между точками \((x_1, y_1)\) и \((x_2, y_2)\).

Миша живет в Нью-Манхэттене и каждое утро делает пробежку по городу. Он выбегает из своего дома, который находится в точке \((0, 0)\) и бежит по случайному маршруту. Каждую минуту Миша либо остается на том же перекрестке, что и минуту назад, или перемещается на один квартал в любом направлении. Чтобы не заблудиться Миша берет с собой навигатор, который каждые \(t\) минут говорит Мише, в какой точке он находится. К сожалению, навигатор показывает не точное положение Миши, он может показать любую из точек, манхэттенское расстояние от которых до Миши не превышает \(d\).

Через \(t\cdot n\) минут от начала пробежки, получив \(n\)-е сообщение от навигатора, Миша решил, что пора бежать домой. Для этого он хочет понять, в каких точках он может находиться. Помогите Мише сделать это.

Входные данные

Первая строка входного файла содержит числа \(t\), \(d\) и \(n\) (\(1 \le t \le 100\), \(1 \le d \le 100\), \(1 \le n \le 100\)).

Далее \(n\) строк описывают данные, полученные от навигатора. Строка номер \(i\) содержит числа \(x_i\) и \(y_i\) — данные, полученные от навигатора через \(t\cdot i\) минут от начала пробежки.

Выходные данные

В первой строке выходного файла выведите число \(m\) — число точек, в которых может находиться Миша. Далее выведите \(m\) пар чисел — координаты точек. Точки можно вывести в произвольном порядке.

Гарантируется, что навигатор исправен и что существует по крайней мере одна точка, в которой может находиться Миша.

Примеры
Входные данные
2 1 5
0 1
-2 1
-2 3
0 3
2 5
Выходные данные
2
1 5
2 4
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
256 megabytes

Разбиения числа \(n\) на слагаемые — это набор целых положительных чисел, сумма которых равна \(n\). При этом разбиения, отличающиеся лишь порядком слагаемых, считаются одинаковыми, поэтому можно считать, что слагаемые в разбиении упорядочены по неубыванию.

Например, существует 7 разбиений числа 5 на слагаемые:

5 = 1 + 1 + 1 + 1 + 1

5 = 1 + 1 + 1 + 2

5 = 1 + 1 + 3

5 = 1 + 2 + 2

5 = 1 + 4

5 = 2 + 3

5 = 5

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

Входные данные

Входной файл содержит одну строку — разбиение числа \(n\) на слагаемые (\(1 \le n \le 100 000\)). Слагаемые в разбиении следуют в неубывающем порядке.

Выходные данные

Выведите в выходной файл одну строку — разбиение числа \(n\) на слагаемые, следующее в лексикографическом порядке после приведенного во входном файле. Если во входном файле приведено последнее разбиение числа \(n\) на слагаемые, выведите «No solution».

Примеры
Входные данные
5=1+1+3
Выходные данные
5=1+2+2
Входные данные
5=5
Выходные данные
No solution
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
256 megabytes

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

Однако сотрудники второго отдела высказали другое предположение. Они предположили, что этот список — это в точности список пар городов, между которыми в Берляндии нет автомагистрали. Попытавшись сопоставить номера городов с городами в Берляндии, они также убедились, что это можно сделать.

Директор разведки в затруднении. Решив проверить, возможно ли такое, он дал задание сотрудникам третьего отдела. Директор попросил их выяснить, может ли так быть, что между некоторыми городами в Берляндии проложены автомагистрали, а между некоторыми — нет, и существует самодвойственный список пар. Список пар целых чисел от 1 до \(n\) называется самодвойственным, если можно занумеровать города так, чтобы он задавал все пары городов, между которыми есть автомагистраль, а можно перенумеровать города таким образом, чтобы тот же самый список задавал все пары городов, между которыми автомагистрали нет.

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

Входные данные

Входной файл содержит одно число \(n\) — количество городов в Берляндии (\(1 \le n \le 100\)).

Выходные данные

Если ответа на задачу не существует, выведите в первой строке выходного файла слово «NO».

В противном случае в первой строке выходного файла слово «YES». На второй строке выведите \(m\) — количество автомагистралей в Берляндии. Занумеруем города некоторым образом от 1 до n.

Далее выведите \(m\) строк по два числа — пары городов, между которыми есть автомагистрали.

Между парой городов должно быть не более одной автомагистрали, автомагистраль не должна соединять город сам с собой.

На следующей строке выведите \(n\) целых чисел, для города \(i\) выведите число \(a_i\), такое, что если в приведенном выше списке из \(m\) пар заменить все числа \(i\) на \(a_i\), то получится в точности список всех пар городов, между которыми нет автомагистрали. Все \(a_i\) должны быть различны.

Примеры
Входные данные
2
Выходные данные
NO
Входные данные
4
Выходные данные
YES
3
1 2
2 3
3 4
3 1 4 2 
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
256 megabytes

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

Шоу состоит из \(n\) небольших представлений, в каждом из которых могут участвовать или львы, или тигры (также может случиться, что в представлении не участвуют ни те, ни другие). Представление \(i\) начинается через \(s_i\) минут от начала шоу и продолжается \(t_i\) минут. При этом в некоторые моменты времени на сцене могут идти одновременно несколько представлений (в этом случае в них не могут участвовать разные виды хищников).

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

Входные данные

Первая строка входного файла содержит число \(n\) (\(1 \le n \le 200\)). Следующие \(n\) строк содержат пары чисел \(s_i\), \(t_i\). (\(0 \le s_i \le 10^9\), \(1 \le t_i \le 10^9\))

Выходные данные

Выведите в выходной файл \(n\) чисел. Число номер \(i\) должно быть равно \(1\), если в \(i\)-ом представлении участвуют львы, или \(2\), если участвуют тигры, или \(0\), если не участвуют ни те ни другие.

Примеры
Входные данные
5
8 3
0 7
4 5
1 2
11 3

0 7
1 3
4 9
8 11
11 14
Выходные данные
2 1 0 1 2

Страница: << 17 18 19 20 21 22 23 >> Отображать по:
Выбрано
:
Отменить
|
Добавить в контест