Задачи
Задача 6а.
Да се напише програма за бързо циклично преместване на буквите в
дадена дума.
Вход:
На входа се задава дума (низ, съдържащ само n букви
от латинската азбука) и на следващия ред редица от m цели
числа k - брой на исканите циклични премествания на
буквите в думата. Входът съдържа N примери.
Изход:
За всяко циклично преместване на нов ред се отпечатва получената
дума.
Ограничения:
0 < n < 1000000
0 < m < 1000000
-1 < k < 1000000
0 < N < 100
Пример:
abracadabra
4 1 0
Floccinaucinihilipilification
10 20
Решение на примера:
cadabraabra
bracadabraa
abracadabra
inihilipilificationFloccinauc
ificationFloccinaucinihilipil
Забележка: "Циклично преместване на k позиции
елементите на масив m от n елемента" означава k
пъти да преместим първия елемент от първо на последно място.
Затова няма ограничение k < n, т.е. програмата трябва да работи
и в случай k > n.
Може да тествате
решенията си тук:
https://www.hackerrank.com/contests/cscb010-2015-t06/challenges
Задача 6b.
Да се
намери мажорантът на множество от низове.
Дефиниция: Нека е дадено n-елементно
мултимножество
(т.е.
множество,
в
което
се
допуска
повторение
на елементи). Ще казваме, че даден елемент на множеството е негов
мажорант, ако се среща строго повече от n/2 пъти.
Вход:
На входа се задава числото n
(n < 105) -
брой на елементите на множеството и стойностите на самите
елементи. Входът съдържа много примери.
Изход:
За всеки пример на отделен ред се отпечатва низа, мажорант на
множеството или празния низ, ако множеството няма мажорант.
Пример:
6 abc abc aaaa
bbbb abc abc
12
qwerty a a a a a qwerty qwerty a a a a
2 A ZZZ
Решение на примера:
abc
a