|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
21.12.2013, 15:47 | #1 |
Новичок
Джуниор
Регистрация: 21.12.2013
Сообщений: 1
|
Олимпиадная задача: Подсчитать буквы в повторениях любимого слова Лёши. решить задания в pascal abc пожалуйста
Скучная лекция
Лёша сидел на лекции. Ему было невероятно скучно. Голос лектора казался таким далеким и незаметным... Чтобы окончательно не уснуть, он взял листок и написал на нём свое любимое слово. Чуть ниже он повторил своё любимое слово, без первой буквы. Ещё ниже он снова написал своё любимое слово, но в этот раз без двух первых и последней буквы. Тут ему пришла в голову мысль — времени до конца лекции все равно ещё очень много, почему бы не продолжить выписывать всеми возможными способами это слово без какой-то части с начала и какой-то части с конца? После лекции Лёша рассказал Максу, как замечательно он скоротал время. Максу стало интересно посчитать, сколько букв каждого вида встречается у Лёши в листочке. Но к сожалению, сам листочек куда-то запропастился. Макс хорошо знает любимое слово Лёши, а ещё у него не так много свободного времени, как у его друга, так что помогите ему быстро восстановить, сколько раз Лёше пришлось выписать каждую букву. Входные данные На вход подаётся строка, состоящая из строчных латинских букв — любимое слово Лёши. Длина строки лежит в пределах от 5 до 100 000 символов. Выходные данные Для каждой буквы на листочке Лёши, выведите её, а затем через двоеточие и пробел сколько раз она встретилась в выписанных Лёшей словах (см. формат вывода в примерах). Буквы должны следовать в алфавитном порядке. Буквы, не встречающиеся на листочке, выводить не нужно. Примеры тестов Входные данные hello Выходные данные e: 8 h: 5 l: 17 o: 5 Входные данные abacaba Выходные данные a: 44 b: 24 c: 16 Примечание Пояснение к первому примеру. Если любимое Лёшино слово — "hello", то на листочке у Лёши будут выписаны следующие слова: • "hello" • "hell" • "ello" • "hel" • "ell" • "llo" • "he" • "el" • "ll" • "lo" • "h" • "e" • "l" • "l" • "o" Среди этих слов 8 раз встречается буква "e", 5 раз — буква "h", 17 раз — буква "l" и 5 раз буква "o". |
21.12.2013, 16:19 | #2 | |
Участник клуба
Регистрация: 05.11.2013
Сообщений: 1,601
|
А попытки ваши решить задачу увидеть можно?
Цитата:
|
|
21.12.2013, 18:53 | #3 |
Новичок
Джуниор
Регистрация: 11.10.2011
Сообщений: 3,882
|
Цикл в цикле..
Далее с помощью Copy передаем часть строки в процедуру, которая прибавит кол-во буковок в глобальный массив.. Это перебор, который пройдет лишь некоторые тесты.. А не переборное решение.. это кол-во букв до нашей буквы+кол-во букв после нашей буквы+1+кол-во букв до*кол-во букв после (пишу наобум.. не проверяя..) |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Помогите пожалуйста решить 5 несложных задач (Pascal ABC) | Аня90 | Паскаль, Turbo Pascal, PascalABC.NET | 13 | 11.12.2012 18:33 |
Задания по объектно-ориентированному программированию на pascal abc.net | molka | Помощь студентам | 4 | 30.03.2012 19:51 |
4 легких задания в Pascal ABC =) | Andrew85252 | Фриланс | 2 | 28.12.2010 16:57 |
Задача в pascal?! помогите пожалуйста решить задачу. | Absent | Помощь студентам | 6 | 09.04.2008 23:41 |