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

Что мне нужно сделать? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ матрица http://www.cyberforum.ru/cpp-beginners/thread1037592.html
помогите создать матрицу и посчитать нормирование матрицы на отрезке -1 1 и и десперсию. еще центрирование данных на с++
C++ Работа с бинарными файлами Компонентами бинарного файла F1 являются целые(отличные от нуля) числа, причем из них 10 положительных и 10 отрицательных,которые расположены в произвольном порядке следования. Сделать файл F2, в котором сначала записаны 5 положительных чисел, потом 5 отрицательных и т.д. http://www.cyberforum.ru/cpp-beginners/thread1037582.html
C++ Задачи из курсовой
Помогите пожалуйста Зарание спасибо
выделить из строки наибольшую монотонную подстроку C++
помогите.очень нужно) написать программу-выделить из строки наибольшую монотонную подстроку(коды последовательных символов отличаются на 1)пожалуйста!!
C++ почему? http://www.cyberforum.ru/cpp-beginners/thread1037567.html
#include <string> #include <iostream> using namespace std; int main() { int k; char str; char str1 = { 0 }, str2 = { 0 }; cout << "Vvedite stroky" << endl; gets_s(str);
C++ Определить в какой координатной четверти находится точка с введенными координатами Всем здравствуйте. Код при любых введенных значениях x,y проходит на последний else и выводит "Ошибка", видимо я что-то не так сделал в самих условиях, но не могу понять что именно, помогите пожалуйста найти ошибку и подскажите в целом, какие функции нужно использовать, чтобы было правильнее. Спасибо! #include <iostream> using namespace std; const char* locationXY(int &x,int &y);... подробнее

Показать сообщение отдельно
newyork7776
 Аватар для newyork7776
346 / 339 / 79
Регистрация: 21.05.2013
Сообщений: 1,305
Завершенные тесты: 1
11.12.2013, 19:21     Что мне нужно сделать?
Есть сообщение, записанное в алфавите из N символов. Известно, что 1-й, 2-й, ..., N-й символы алфавита использованы в сообщении f1, f2, ..., fN раз. Его необходимо набрать на M-клавишной клавиатуре, используя способ набора, аналогичный используемому в мобильных телефонах.

На телефоне, клавише 2 сопоставлены буквы abc, клавише 3 — def, и т.д. Для набора текста телефон переводится в специальный режим, в котором одно нажатие на клавишу 2 порождает символ a, 2 подряд нажатия на 2 символ b, 3 подряд символ c; аналогично, одно нажатие 3 порождает d, 2 подряд e и т. д. Если же необходимо набрать 2 подряд буквы a, то нажимают клавишу 2, немного ждут и снова нажимают клавишу 2.

В нашем случае, символы с 1-ого по некоторый K1-ый должны соответствовать 1-ой клавише, с (K1 + 1)-ого по некоторый K2-ой — 2-ой клавише и т. д., до KM = N. Конкретные значения K1, K2, ..., KM - 1 не задаются — их, наоборот, нужно подобрать.

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

Входные данные
В первой строке содержатся два числа N и M, во второй — N чисел f1, f2, ..., fN — количества вхождений соответствующего символа. Числа внутри строк разделены одинарными пробелами. 2 ≤ M ≤ 50, 3 ≤ N ≤ 70, M < N, 1 ≤ fi ≤ 1000.

Выходные данные
Необходимо вывести единственное число — найденное минимальное количество нажатий на клавиши.

Примеры тестов
входные данные
5 3
3 2 5 7 1
выходные данные
21
Примечание
Значение 21 достигается при K1 = 2, K2 = 3 (1-й и 2-й символы сопоставить 1-й клавише, 3-й символ 2-й клавише, 4-й и 5-й символы 3-й клавише). Тогда количество нажатий будет

(3 × 1 + 2 × 2) + (5 × 1) + (7 × 1 + 1 × 2) = 21.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 19:56. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru