Задача A. Hello, world!

Входной файл:Стандартный вход   Ограничение времени:1 сек
Выходной файл:Стандартный выход   Ограничение памяти:512 Мб
Максимальный балл:1  

Условие

Требуется написать программу, которая печатает "Hello, world!" (без кавычек)


Задача B. Сложное

Входной файл:Стандартный вход   Ограничение времени:1 сек
Выходной файл:Стандартный выход   Ограничение памяти:512 Мб
Максимальный балл:1  

Условие

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

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

Входные данные содержат предложение в кодировке CP1251.

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

Выходные данные должны содержать тип предложения в кодировке CP1251. Если предложение сложное, слово "сложное" должно стоять первым и отделяться пробелом от восклицательности предложения (смотри пример).

Примеры тестов

Стандартный вход Стандартный выход
1
Что тут происходит?!?!
вопросительно-восклицательное
2
Скажите мне, пожалуйста!
сложное восклицательное
3
Ничего
повествовательное

Задача C. Электронная почта

Входной файл:Стандартный вход   Ограничение времени:1 сек
Выходной файл:Стандартный выход   Ограничение памяти:512 Мб
Максимальный балл:1  

Условие

В ДВФУ у каждого студента и сотрудника есть персональный адрес электронной почты в домене dvfu.ru.

Требуется написать программу, которая по заданным фамилии, имени и роли пользователя создает адрес его электронной почты в формате [фамилия].[имя]@[роль].dvfu.ru

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

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

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

Выходные данные должны содержать одну строку — электронный адрес в описанном формате.

Примеры тестов

Стандартный вход Стандартный выход
1
sporyshev
ms
students
sporyshev.ms@students.dvfu.ru

Задача D. FizzBuzz

Входной файл:Стандартный вход   Ограничение времени:1 сек
Выходной файл:Стандартный выход   Ограничение памяти:512 Мб
Максимальный балл:7  

Условие

Требуется написать программу, которая считывает число и выводит Fizz, если число делится на 3, Buzz, если число делится на 5, и FizzBuzz, если оно делится и на 3, и на 5. Если число не делится ни на 3, ни на 5, вывести пустую строку (перевод строки).

Примеры тестов

Стандартный вход Стандартный выход
1
23
2
25
Buzz
3
30
FizzBuzz

Задача E. CamelCase

Автор:А. Кленин   Ограничение времени:2 сек
Входной файл:input.txt   Ограничение памяти:64 Мб
Выходной файл:output.txt  
Максимальный балл:102  

Условие

При написании сложных программ важное значение имеет стандартизация стиля кодирования, в частности формата записи имён переменных. Часто используются следующие два стандарта для имён переменных, состоящих из нескольких слов:

  1. Слова записываются друг за другом через знак подчёркивания с маленькой буквы (например my_variable).
  2. Слова записываются друг за другом подряд, при этом каждое слово начинается с большой буквы (например MyVariable).

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

Рекомендуется рассмотреть частичные решения:

  1. Имя состоит из одного слова

Формат входного файла

Входной файл содержит одну строку — имя переменной в каком-либо из стандартов.

Формат выходного файла

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

Ограничения

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

Примеры тестов

Входной файл (input.txt) Выходной файл (output.txt)
1
x
X
2
ATest
a_test

Задача F. Циклический сдвиг

Входной файл:Стандартный вход   Ограничение времени:1 сек
Выходной файл:Стандартный выход   Ограничение памяти:512 Мб
Максимальный балл:1  

Условие

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

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

Первая строка содержит числа N и K Следующая строка содержит N чисел — элементы массива.

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

Необходимо вывести N чисел — исходный массив, циклически сдвинутый влево на K.

Ограничения

1 < N < 100

Примеры тестов

Стандартный вход Стандартный выход
1
4 1
1 2 3 4
2 3 4 1
2
5 2
7 1 3 6 10
3 6 10 7 1

Задача G. Количество слов-0

Входной файл:Стандартный вход   Ограничение времени:1 сек
Выходной файл:Стандартный выход   Ограничение памяти:512 Мб
Максимальный балл:1  

Условие

Во входном файле записана строка текста, в которой могут встречаться:

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

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

Примеры тестов

Стандартный вход Стандартный выход
1
As God is my witness , I will never be hungry again .
11

Задача H. Палиндром?

Входной файл:Стандартный вход   Ограничение времени:1 сек
Выходной файл:Стандартный выход   Ограничение памяти:512 Мб
Максимальный балл:1  

Условие

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

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

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

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

Выходные данные должны содержать True, если фраза — палиндром, и False в противном случае.

Примеры тестов

Стандартный вход Стандартный выход
1
А роза упала на лапу Азора
True
2
Роза не упала на лапу Азора
False

Задача I. Норма L2

Входной файл:Стандартный вход   Ограничение времени:1 сек
Выходной файл:Стандартный выход   Ограничение памяти:512 Мб
Максимальный балл:1  

Условие

Вам дан вектор произвольной размерности (массив вещественных чисел). Необходимо посчитать его норму L2 (евклидову норму). Евклидова норма — это квадратный корень из суммы квадратов компонент вектора.

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

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

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

Выходные данные должны содержать одно вещественное число — евклидову норму этого вектора.

Примеры тестов

Стандартный вход Стандартный выход
1
3.0 4.0
5.0
2
10.5 20.1 3.1
22.8882065701968

Задача J. Key sort

Входной файл:Стандартный вход   Ограничение времени:1 сек
Выходной файл:Стандартный выход   Ограничение памяти:512 Мб
Максимальный балл:1  

Условие

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

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

Входные данные содержат слова, разделённые пробелами.

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

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

Примеры тестов

Стандартный вход Стандартный выход
1
azx zab ddd
zab ddd azx

Задача K. GCD

Входной файл:Стандартный вход   Ограничение времени:1 сек
Выходной файл:Стандартный выход   Ограничение памяти:512 Мб
Максимальный балл:1  

Условие

Дано 3 числа: A, B, C. Необходимо посчитать наибольший общий делитель (НОД) каждой из пар A и B, A и C, B и C

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

Входные данные содержат 3 числа — A, B, C.

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

Выходные данные должны содержать 3 числа — НОД A и B, НОД A и C и НОД B и C

Примеры тестов

Стандартный вход Стандартный выход
1
2 6 3
2 1 3

Задача L. groupby group

Входной файл:input.txt   Ограничение времени:1 сек
Выходной файл:output.txt   Ограничение памяти:512 Мб
Максимальный балл:100  

Условие

Необходимо написать программу, которая группирует студентов по их группам.

Формат входного файла

В первой строке входного файла дано число n — количество студентов. Далее следует n строк, в каждой из которых записаны группа и имя студента.

Группа и имя студента разделены символом табуляции.

Формат выходного файла

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

Сами группы следуют также в алфавитном порядке.

Ограничения

1 ≤ n ≤ 105

Примеры тестов

Входной файл (input.txt) Выходной файл (output.txt)
1
3
M8103	Sidorov Sidor
M8888	Petrov Petr
M8103	Ivanov Ivan
M8103
Ivanov Ivan
Sidorov Sidor
M8888
Petrov Petr

Задача M. Кто первый? (Правильная Версия)

Входной файл:Стандартный вход   Ограничение времени:1 сек
Выходной файл:Стандартный выход   Ограничение памяти:512 Мб
Максимальный балл:1  

Условие

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

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

Первая строка содержит число N — количество студентов в группе. Следующие N строк содержат фамилии студентов в кодировке UTF8.

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

Выходные данные должны содержать единственную строку — фамилию студента, который первым пойдет к доске в кодировке UTF8.

Ограничения

1 < N < 100

Примеры тестов

Стандартный вход Стандартный выход
1
4
Petrov
Ivanov
Sidorov
Shchurov
Ivanov

Задача N. Class Student

Входной файл:Стандартный вход   Ограничение времени:1 сек
Выходной файл:Стандартный выход   Ограничение памяти:512 Мб
Максимальный балл:1  

Условие

Требуется написать на языке C# класс Student реализующий интерфейс IStudent.


    namespace Fefu
    {
        public class WrongDataException : Exception
        {
            public WrongDataException()
            {
            }

            public WrongDataException(string message) : base(message)
            {
            }

            public WrongDataException(string message, Exception innerException) : base(message, innerException)
            {
            }
        }

        public interface IStudent
        {
            public int Age { get; set; }
            public string FirstName { get; set; }
            public string LastName { get; set; }
        }
    }
            

Student должен находиться в namespace Fefu.

Сеттер свойства Age должен позволять присваивать только числа > 0, в остальных случаях требуется бросать исключение WrongDataException.
Сеттер свойств FirstName, LastName должен позволять присваивать только строки, состоящие из букв английского алфавита (первая буква заглавная), в остальных случаях требуется бросать исключение WrongDataException. Также Student должен иметь конструктор public Student(string firstName, string lastName, int age) .

WrongDataException и IStudent отправлять не нужно.


Задача O. Class Methods

Входной файл:Стандартный вход   Ограничение времени:1 сек
Выходной файл:Стандартный выход   Ограничение памяти:512 Мб
Максимальный балл:1  

Условие

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

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

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

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

Выходные данные должны содержать : список строк с описание методов в алфавитном порядке. Формат строки : $"{возращаемый тип} {имя метода} ([cписок параметров])"

Примеры тестов

Стандартный вход Стандартный выход
1
System.Object
System.Boolean Equals (System.Object obj);
System.Boolean Equals (System.Object objA, System.Object objB);
System.Boolean ReferenceEquals (System.Object objA, System.Object objB);
System.Int32 GetHashCode ();
System.String ToString ();
System.Type GetType ();

Задача P. Class MStack

Входной файл:Стандартный вход   Ограничение времени:1 сек
Выходной файл:Стандартный выход   Ограничение памяти:512 Мб
Максимальный балл:1  

Условие

Требуется написать на языке C# класс MStack реализующий интерфейс IStack.

                
    public interface IStack<T> : IEnumerable, IEnumerable<T>
    {
        // Сводка:
        //     Gets the number of elements contained in the IStack.
        //
        // Возврат:
        //     The number of elements contained in the IStack.
        public int Count { get; }
        //
        // Сводка:
        //     Removes all objects from the IStack.
        public void Clear();
        //
        // Сводка:
        //     Determines whether an element is in the IStack.
        //
        // Параметры:
        //   item:
        //     The object to locate in the IStack. The value can
        //     be null for reference types.
        //
        // Возврат:
        //     true if item is found in the IStack; otherwise, false.
        public bool Contains(T item);
        //
        // Сводка:
        //     Returns the object at the top of the IStack without
        //     removing it.
        //
        // Возврат:
        //     The object at the top of the IStack.
        //
        // Исключения:
        //   T:System.InvalidOperationException:
        //     The IStack is empty.
        public T Peek();
        //
        // Сводка:
        //     Removes and returns the object at the top of the IStack.
        //
        // Возврат:
        //     The object removed from the top of the IStack.
        //
        // Исключения:
        //   T:System.InvalidOperationException:
        //     The IStack is empty.
        public T Pop();
        //
        // Сводка:
        //     Inserts an object at the top of the IStack.
        //
        // Параметры:
        //   item:
        //     The object to push onto the IStack. The value can
        //     be null for reference types.
        public void Push(T item);
        //
        // Сводка:
        //     Copies the IStack to a new array.
        //
        // Возврат:
        //     A new array containing copies of the elements of the IStack.
        public T[] ToArray();
    }
                
            

IStack заливать не нужно. MStack должен находиться в namespace MyCollection. Запрещено использовать готовые реализации Stack или любые другие коллекции из System.Collection.Generic.


Задача Q. ReshapeExtension

Входной файл:Стандартный вход   Ограничение времени:2 сек
Выходной файл:Стандартный выход   Ограничение памяти:512 Мб
Максимальный балл:1  

Условие

Требуется написать на языке C# extension method public static Array Reshape(this Array array, params int[] dimensions), который изменяет размерность массива.

Расширение должно находиться в namespace MyExtensions

Если вместимость нового массива меньше предыдущего, выдать исключение BadSizeException (его отправлять в cats не нужно)


Задача R. Descendants

Входной файл:Стандартный вход   Ограничение времени:1 сек
Выходной файл:Стандартный выход   Ограничение памяти:512 Мб
Максимальный балл:1  

Условие

Требуется написать на языке C# метод расширения Descendants возвращающий перечисление (IEnumerable<INode>) потомков INode в прямом порядке обхода в глубину .

                
    public interface INode
    {
        INode Parent { get; set; }
		INode FirstChild { get; set; }
		INode NextSibling { get; set; }
    }
                
            

INode заливать не нужно. Descendants должен находиться в namespace Tree.


Задача ZA. Двухцветная полоса

Автор:А. Кленин   Ограничение времени:1 сек
Входной файл:input.txt   Ограничение памяти:256 Мб
Выходной файл:output.txt  
Максимальный балл:100  

Условие

Дана полоса, состоящая из N разноцветных клеток. Требуется написать программу, которая найдёт самый длинный отрезок этой полосы, состоящий из клеток не более двух разных цветов.

Формат входного файла

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

Формат выходного файла

Выходной файл должен содержать два числа P L, где P — номер первого символа искомого отрезка, L — его длина. Нумерация клеток начинается с 1.

Если существует несколько оптимальных решений, выведите решение с минимальным значением P.

Ограничения

1 ≤ N ≤ 106

Примеры тестов

Входной файл (input.txt) Выходной файл (output.txt)
1
xxxxx
1 5
2
abbaaccca
4 6

Задача ZB. Медленное вычеркивание

Автор:А. Кленин   Ограничение времени:1 сек
Входной файл:input.txt   Ограничение памяти:256 Мб
Выходной файл:output.txt  
Максимальный балл:100  

Условие

Юная любительница математики Маша играет в игру с числами. Сначала она выбирает какое-нибудь целое число S.

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

Это действие повторяется до тех пор, пока не останется число, состоящее из одинаковых цифр.

Юный программист Вася решил произвести впечатление на Машу, запрограммировав её игру.

Требуется написать программу, которая по данному S определяет все числа, получающиеся в процессе игры.

Формат входного файла

Входной файл содержит единственное целое число S.

Формат выходного файла

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

Ограничения

1 ≤ S < 109. В десятичной записи числа S отсутствуют нули.

Примеры тестов

Входной файл (input.txt) Выходной файл (output.txt)
1
333
0
2
12524
3
2524
252
22
3
536296747
6
56296747
6296747
696747
69677
6677
77

0.641s 0.017s 51