Темы
    Информатика(2656 задач)
---> 228 задач <---
    2003(8 задач)
    2004(9 задач)
    2005(10 задач)
    2006(10 задач)
    2007(19 задач)
    2008(19 задач)
    2009(18 задач)
    2010(18 задач)
    2011(18 задач)
    2012(19 задач)
    2013(19 задач)
    2014(20 задач)
    2015(21 задач)
    2016(20 задач)
Страница: << 10 11 12 13 14 15 16 >> Отображать по:
ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
64 megabytes

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

Первоочередной задачей будет избавление от буквы c, которая в сочетаниях сi и сe будет изменяться на s, в сочетании ck — опускаться, а в остальных случаях заменяться на k. При этом все замены будут производиться в строгом порядке слева направо. То есть, например, в слове success сначала первая из двух букв c заменится на k, а затем вторая — на s, то есть получится suksess. А слово cck превратится в kk.

На второй год из английских слов изымут все удвоенные буквы: ee изменят на i, oo - на u, a в остальных комбинациях будут просто писать одну букву вместо двух одинаковых. Такие замены также будут делать строго в порядке слева направо. Так, слово ooo превратится в uo, а oou — просто в u (в нем сначала oo заменится на u, а затем uu — на u), слово iee превратится в i (в нем сначала ee заменится на i, а затем ii — на i).

На третий год на конце слова станут опускать букву е, если эта буква не является единственной буквой в слове.

Наконец, завершением реформы станет отмена артиклей (в английском языке три артикля: а, an и the). При этом удаляться эти артикли будут только тогда, когда они в исходном тексте были словами a, an, the. То есть, например, текст the table после реформ первых трех лет превратиться в th tabl, а после реформы четвертого года — просто в tabl. А слово aaaaa после реформы первых лет станет словом a, но поскольку изначально оно не было словом a (артиклем), то оно в итоге так и останется словом a.

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

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

Во входном файле записана одна строка текста, состоящая не более чем из 200 символов: латинских строчных и заглавных букв, пробелов и знаков препинания (в тексте могут встречаться: точка, запятая, вопросительный и восклицательный знаки, двоеточие, тире, точка с запятой, открывающаяся и закрывающаяся скобки, апострофы, кавычки). Заглавные буквы могут встречаться только в начале слова. Нигде подряд не могут стоять два пробела. В начале и в конце строки не может стоять пробел. Слова отделяются друг от друга пробелами и/или знаками препинания.

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

В выходной файл нужно выдать преобразованную строку с учетом следующих требований:

  • начинаться с заглавной буквы должны те и только те слова, которые начинались с заглавной буквы в исходном тексте;
  • не должно встречаться двух пробелов подряд;
  • пробелы между словами и знаками препинания должны остаться там и только там, где они были в исходной строке, в начале и в конце строки пробелов быть не должно.
Примеры
Входные данные
cacao and coffee
Выходные данные
kakao and kofi
Входные данные
Cinderella! Where Is The Dress???
Выходные данные
Sinderela! Wher Is Dres???
Входные данные
'A' is a letter
Выходные данные
'' is leter
Входные данные
!!!Hello!!!A-the-"word"
Выходные данные
!!!Helo!!!--"word"
ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
64 megabytes

Мальчик Кирилл недавно придумал свой язык программирования. Он назвал его D++.

В D++ существует только один массив и 26 переменных. Переменные называются маленькими латинскими буквами от a до z. Есть 4 различных варианта операции присваивания (здесь и далее переменная — это маленькая латинская буква, задающая имя переменной, а индекс — натуральное число, задающее индекс элемента в массиве):

переменная1 <- переменная2

Значение переменной переменная1 становится равным значению переменной переменная2;

переменная <- индекс

Значение переменной переменная становится равным значению элемента массива с индексом индекс;

индекс <- переменная

Значение элемента массива с индексом индекс становится равным значению переменной переменная;

индекс1 <- индекс2

Значение элемента массива с индексом индекс1 становится равным значению элемента массива с индексом индекс2.

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

Дана последовательность из N натуральных чисел. Все числа различны и не превосходят N. Будем считать, что эта последовательность записана в массиве языка D++ начиная с элемента с номером 1. Требуется написать программу на D++, которая упорядочит массив за наименьшее количество операций.

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

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

В первой строке входного файла содержится единственное число N (1N10000). Во второй строке содержится N натуральных чисел — последовательность, записанная в массиве.

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

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

Примеры
Входные данные
2
2 1
Выходные данные
3
ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
64 megabytes
Дана скобочная последовательность. Требуется определить минимальное количество скобок, которое необходимо добавить, чтобы она стала правильной скобочной последовательностью.

Назовем строку S правильной скобочной последовательностью, если она состоит только из символов '{', '}', '[', ']', '(', ')' и выполнено хотя бы одно из следующих трех условий:

1) S — пустая строка;

2) S можно представить в виде S=S1+S2+S3+...+SN (N>1), где Si — непустые правильные скобочные последовательности, а знак "+" обозначает конкатенацию (приписывание) строк;

3) S можно представить в виде S='{'+C+'}' или S='['+C+']' или S='('+C+')', где C является правильной скобочной последовательностью.

Дана строка, состоящая только из символов '{', '}', '[', ']', '(', ')'. Требуется определить, какое минимальное количество символов надо вставить в эту строку для того, чтобы она стала правильной скобочной последовательностью.

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

В первой строке входного файла записана строка, состоящая только из символов '{','}', '[',']', '(',')'. Длина строки не превосходит 100 символов.

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

Вывести в первую строку выходного файла единственное неотрицательное целое число — ответ на поставленную задачу.

Примеры
Входные данные
{(})
Выходные данные
2
Входные данные
([{}])

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

ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
64 megabytes

Натуральное число называется двояким, если в его десятичной записи встречается не более двух различных цифр. Например, числа 3, 23, 33, 100, 12121 — двоякие, а числа 123 и 9980 — нет.

Для заданного натурального числа N требуется найти ближайшее к нему двоякое число (если таких чисел два — любое из них).

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

Во входном файле записано одно натуральное число N, не превосходящее 30 000.

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

В выходной файл требуется выдать единственное число — ближайшее двоякое к числу N.

Примеры
Входные данные
123
Выходные данные
122
Входные данные
2012
Выходные данные
2020
Входные данные
11111
Выходные данные
11111
ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
64 megabytes

Одна серьезная организация (ОСО) решила построить очень охраняемый объект (ООО). Для этого она нашла на пустыре два одиноко стоящих прожектора. Каждый из прожекторов освещает какой-то угол, меньший 180 градусов. ОСО хочет, чтобы весь ООО был освещен обоими прожекторами.

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

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

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

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

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

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

Примеры
Входные данные
0 1 2 3 3 2
3 0 3 3 5 2
Выходные данные
-1
Входные данные
0 1 2 3 3 2
3 0 3 3 -3 2
Выходные данные
3.000000
Входные данные
0 1 2 3 3 2
3 0 3 -2 -3 2
Выходные данные
0.000000

Страница: << 10 11 12 13 14 15 16 >> Отображать по:
Выбрано
:
Отменить
|
Добавить в контест