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

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

Войти
Регистрация
Восстановить пароль
 
final_sleep
0 / 0 / 0
Регистрация: 12.12.2010
Сообщений: 19
#1

"Бусы". Пятая международная олимпиада по информатике, г. Мендоса, Аргентина, 16-25 октября 1993 г. - C++

12.12.2010, 12:19. Просмотров 673. Ответов 0
Метки нет (Все метки)

Задача 'Бусы'

Максимальная оценка: 20 баллов
Ограничение времени на тест: 5 минут


Имеются бусы, состоящие из N (N<=100) бусинок, некоторые из которых красного или голубого цвета, а остальные - белые. На рис. 1 и рис. 2 приведены два примера бус для N=29 (цифрами отмечены позиции первой и второй бусинок).

Конфигурация бус задается последовательностью цветов бусинок ("b" - голубая, "r" - красная, "w" - белая), начиная с бусинки номер 1. Например, бусы на рис. 1 задаются последовательностью:

brbrrrbbbrrrrrbrrbbrbbbbrrrrb

Порвем бусы и затем начнем снимать бусинки одного цвета с первого конца, пока не встретится бусинка другого цвета. То же самое проделаем со вторым концом (бусинки, снятые с разных концов, могут быть разного цвета). Требуется определить точку такого разрыва данных бус, при котором суммарное количество бусинок, собранных с обоих концов, максимально. Например, для бус на рис. 1 точка разрыва может находиться между 24 и 25 бусинками или между 9 и 10 бусинками; при этом суммарное количество бусинок в обоих случаях равняется 8.

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

Напишите программу, которая:
Вводит данные из входного ASCII-файла с именем NECK- LACE.DAT, каждая строка которого содержит конфигурацию бус, заданную в виде последовательности цветов и записывает входные данные в выходной ASCII-файл с именем NECKLACE.SOL. Пример входного файла NECKLACE.DAT:
brbrrrbbbrrrrrbrrbbrbbbbrrrrb
bbwbrrrwbrbrrrrrb
Для каждой конфигурации бус определяет M - максимальное число собранных бусинок и положение одной из оптимальных точек разрыва.
Выводит в качестве результата в выходной файл с именем NECKLACE.SOL число M и точку разрыва. Ответы для разных конфигураций отделяются пустой строкой. Пример выходного файла NECKLACE.SOL:
brbrrrbbbrrrrrbrrbbrbbbbrrrrb
8 between 9 and 10

bbwbrrrwbrbrrrrrb
10 between 16 and 17

примеры в прикреплениях.

помогите, кому не сложно.
нужно получить допуск к экзамену, а в си мягко говоря еще не слишком компетентен(
спасибо заранее.
0
Изображения
 
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.12.2010, 12:19
Здравствуйте! Я подобрал для вас темы с ответами на вопрос "Бусы". Пятая международная олимпиада по информатике, г. Мендоса, Аргентина, 16-25 октября 1993 г. (C++):

Международная олимпиада по программированию 1994г. Задач "Матрица простых чисел". - C++
Всем привет:) Решаю олимпиадные задачки прошлых годов и никак не получается решить эту. Задача: напишите написать программу , которая...

Международная Жаутыковская Олимпиада - 2009 - C++
Уважаемые друзья... Есть ли у кого нибудь решения задач Международной Жаутыковской Олимпиады 2009 по информатике... Буду признателен если...

В зависимости от времени года "весна", "лето", "осень", "зима" определить погоду "тепло", "жарко", "холодно", "очень холодно" - C++
В зависимости от времени года &quot;весна&quot;, &quot;лето&quot;, &quot;осень&quot;, &quot;зима&quot; определить погоду &quot;тепло&quot;, &quot;жарко&quot;, &quot;холодно&quot;, &quot;очень холодно&quot;. Я так...

Реализовать классы "Воин", "Пехотинец", "Винтовка", "Матрос", "Кортик" (наследование) - C++
Разработать программу с использованием наследования классов, реализующую классы: − воин; − пехотинец(винтовка); − матрос(кортик). ...

Определить, сколько учеников имеют по информатике оценку "5" - C++
1.Известны оценки по информатике каждого из 20 учеников класса. В начале списка перечислены все пятерки, затем все остальные оценки....

Курсовая по информатике(сам в С++ пока полный "0") - C++
1. Информация о температуре воздуха за месяц задана в виде массива. Определить, сколько раз температура опускалась ниже 0°С. ...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.12.2010, 12:19
Привет! Вот еще темы с ответами:

Создать класс "Книга" с полями "название книги", "количество страниц", "год издания" - C++
Создать класс Книга поля: название книги,количество страниц,год издания методы: вычислить сколько лет книге и количество дней прошедших...

Создать абстрактный класс "Издание" и производные классы "Книга", "Статья", "Электронный ресурс" - C++
1. Создать абстрактный класс Издание с методами, позволяющими вывести на экран информацию об издании, а также определить является ли данное...

Создать класс "Вентилятор" содержащий в себе классы: "Двигатель", "Контроллер", "Пульт управления" - C++
Помогите с кодом написания задачи, не понимаю как написать классы в классе. Нужно создать класс &quot;вентилятор&quot; содержащий в себе классы:...

Определить тип данных "Запись", имеющий поля "Фамилия", "Пол", "Зарплата" - C++
определить тип данных запись имеющий поля фамилия пол зарплата. определить массив из 10 записей. в программе ввести в массив данные и...


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

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

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