Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
MihaniX
134 / 44 / 1
Регистрация: 06.08.2013
Сообщений: 292
Записей в блоге: 4
#1

Вывести слово, которое можно выложить из данного количества палочек - C++

25.05.2014, 21:38. Просмотров 470. Ответов 0
Метки нет (Все метки)

256 мегабайт, 2 секунды

У пятиклассника Димы есть N счётных палочек, и он очень любит выкладывать из этих палочек слова.

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

Чтобы выложить некоторое слово, Дима всегда пользуется своим любимым числом K и следующими простыми правилами:

1) слово выкладывается побуквенно слева направо

2) пусть i — номер выкладываемой буквы в английском алфавите('a', 'A' — 1, 'b', 'B' — 2, 'c', 'C' — 3, и т.д.); если i ≤ K, Дима записывает на бумаге число i; если i > K — записывает остаток от деления i на K

3) если записанное число строго меньше 3, Дима исправляет его на 3

4) если текущая буква является заглавной, т.е. буквой верхнего регистра, то записанное число умножается на 2, иначе число не изменяется

5) буква выкладывается из полученного числа счётных палочек.

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

Помогите Диме определить, какое слово из его набора ему следует выкладывать.

Формат ввода

В первой строке входного файла записано единственное целое число N (1 ≤ N ≤ 10000) — количество счётных палочек у Димы. Во второй строке записано единственное целое число K (1 ≤ K ≤ 26) — любимое число Димы. В третье строке записано единственное целое число W (1 ≤ W ≤ 50) — количество новых слов. Далее в W строках записано по одному слову. Все слова содержат от 1 до 50 букв. Каждая буква из интервала 'a'–'z' или из интервала 'A'–'Z'.

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

В единственную строку выходного файла выведите слово, которое можно выложить из данного количества палочек, причём оставшееся после выкладывания количество палочек должно быть минимальным. Если ни одно из слов нельзя выложить из данного количества палочек, выведите “-1” (без кавычек). Если таких слов несколько, выведите то из них, которое следует раньше других в лексикографическом порядке.

Добавлено через 40 минут
апп

Добавлено через 6 часов 34 минуты
up!
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.05.2014, 21:38
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вывести слово, которое можно выложить из данного количества палочек (C++):

Задан текст. Вывести первое слово, которое имеет заданную длину - C++
Задан текст. Вывести первое слово, которое имеет заданную длину. Добавлено через 1 час 21 минуту Ребят помогите пожалуйста!

Списки и файлы. Вывести на экран только предложения, содержащие слово которое ввели с клавиатуры (найти ошибку в коде) - C++
Ребята привет, мне посоветовали этот форум, как помощь для начинающих программистов. Буду очень признательна, если поможете исправить...

Строки. Вывести на печать то слово этой строки, которое по алфавиту предшествует всем другим - C++
Дана строка из 20 различных слов (словом считается любой набор букв, за которым следует пробел). Вывести на печать то слово этой строки,...

Задача со строками (вывести слово, которое содержит ровно три буквы "и") - C++
Здравствуйте, помогите решить задачу. Пользователь вводит предложение с пробелами, запятыми и тп. Нужно вывести слово, которое...

Определить, в введенном предложении слово, которое состоит из тех же букв, что и заданное ключевое слово. - C++
Ввести предложения и ключевое слово. Определить, в введенном предложении слово, которое состоит из тех же букв, что и заданное ключевое...

Вывести наименьшее натуральное число, которое можно представить двумя разными способами в виде суммы кубов двух натуральных чисел - C++
Помогите пожалуйста, я не знаю в чём дело, почему она выдаёт такое количество значений. #include <stdio.h> #include <math.h> ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.05.2014, 21:38
Привет! Вот еще темы с ответами:

Найти символ первой строки, который первым не совпал с одним из символов второй строки. Вывести слово, в которое входит этот символ - C++
Заданы 2 строки, состоящие из слов, разделенных пробелами. Определить местоположение символа первой строки, который первым не совпал с...

Найти число, которое которое образуется из данного числа при записи его цифр в обратном порядке - Pascal ABC
Составить программу для нахождения числа, которое которое образуется из данного натурального числа при записи его цифр в обратном порядке....

Вывести первое слово предложения, которое начинается с большой буквы - PHP
preg_match('~.?~',$string,$matches); echo $matches; не хочет работать, не знаю почему

Найти и вывести слово которое встречается в каждом предложении текста - Free Pascal
Условие задачи:"Найти и вывести слово которое встречается в каждом предложении текста".Плиз можно розказать словесно ход решения или сам...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru