Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.52/29: Рейтинг темы: голосов - 29, средняя оценка - 4.52
11 / 10 / 5
Регистрация: 25.07.2020
Сообщений: 302

Перемещение карточек

24.08.2020, 10:02. Показов 6068. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Перед вами выложены n карточек слева направо. i-я слева карточка имеет цвет ci: ‘R’, если карточка красная, и ‘W’, если карточка белая.

Вы можете делать операции двух типов (любое количество раз, в любом порядке):

Выбрать любую карточку и поменять ее цвет (белый на красный, красный на белый)

Выбрать две (необязательно соседних) карточки и поменять их местами

Назовем ряд карточек некрасивым, если в нём есть красная карточка, идущая сразу после (правее) белой. Сколько минимум операций нужно совершить, чтобы ряд стал красивым?

Формат входных данных
На первой строке задано число n (1≤n≤2⋅10**5) — количество карточек. На второй строке задана строка из n символов ci (цвет i-й карточки), при этом ci может быть либо символом ‘R’, либо символом ‘W’.

Формат результата
Выведите одно число — минимальное количество операций, чтобы сделать ряд красивым.

Примеры
Входные данные
2
WR
Результат работы
1
Входные данные
2
WW
Результат работы
0
Входные данные
4
RWRW
Результат работы
1
Примечания
В первом примере можно поменять местами первую и вторую карточку, получим красивый ряд.

Во втором примере ничего менять не нужно, ряд и так красивый.

В третьем примере можно перекрасить вторую карточку.

Добавлено через 38 минут
Ну или идею если может кто?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
24.08.2020, 10:02
Ответы с готовыми решениями:

Дано n карточек, сложить из карточек один большой квадрат (без пустот). Сколько карточек останется?
У Пети есть n квадратных карточек. Он хочет сложить из них один большой квадрат (без пустот). Сколько карточек у него останется? ...

Мастер создания визитных карточек
Здравствуйте, получил задание "сделать мастер создания визитных карточек". Среду разработки разрешили использовать Visual C++, я так...

С чего начать разработку программы для изучения английского языка с помощью карточек
Ребят всем привет, доброго времени. Мне необходима консультация по вопросу написания программы, для дипломного проекта, кому не...

24
 Аватар для zayats80888
6354 / 3525 / 1428
Регистрация: 07.02.2019
Сообщений: 9,008
24.08.2020, 16:05
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от XLAT Посмотреть сообщение
должен быть подвох, так как при сборке механизма обнаружились ненужные детали
Вот если бы эти две операции по условию имели бы разный "вес", тогда решение не тривиально.
Но по условию они равноценны, а значит замену цвета можно проигнорировать.

Цитата Сообщение от XLAT Посмотреть сообщение
"RRR" проваливает, а значит нужна всего лишь одна операция по замене последнего R
Зачем? Такой ряд удовлетворяет условию.

Добавлено через 1 минуту
Я имел ввиду, что ваша программа должна была упасть при попытке свапнуть s[npos]
1
11 / 10 / 5
Регистрация: 25.07.2020
Сообщений: 302
24.08.2020, 16:21  [ТС]
Цитата Сообщение от zayats80888 Посмотреть сообщение
UB
что такое UB ?
0
 Аватар для zayats80888
6354 / 3525 / 1428
Регистрация: 07.02.2019
Сообщений: 9,008
24.08.2020, 16:24
Цитата Сообщение от Jorka Посмотреть сообщение
что такое UB ?
Undefined Behavior (неопределённое поведение).
0
Just Do It!
 Аватар для XLAT
4223 / 2689 / 656
Регистрация: 23.09.2014
Сообщений: 9,252
Записей в блоге: 3
24.08.2020, 16:30
Цитата Сообщение от zayats80888 Посмотреть сообщение
Я имел ввиду, что ваша программа должна была упасть при попытке свапнуть s[npos]
это бесспорно так.
для стрингового файнда почти стандарт: делать проверку на npos
не сделал, потому что псевдокод

Цитата Сообщение от zayats80888 Посмотреть сообщение
Зачем? Такой ряд удовлетворяет условию.
согласен.
0
0 / 0 / 0
Регистрация: 29.05.2020
Сообщений: 1
29.08.2020, 12:15
#include <iostream>
#include <vector>
#include <string>
#include <set>
#include <algorithm>
#include <iostream>
#include <queue>
using namespace std;
typedef long long ll;
int main() {
size_t n;
cin >> n;
string s ;
cin >> s;
int allW =0;
for(int i = 0 ; i < s.size();i++) {
if(s[i] == 'W') {
allW++;
}
}

for(int i = s.size() - allW; i < n;i++) {
if(s[i] == 'W') allW--;
}
cout << allW;

return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
29.08.2020, 12:15

Дан набор карточек, на каждой из которых написана буква(среди букв могут быть повторяющиеся) и список слов
Доброго времени суток ! Можете помочь в объяснении задачи, не могу понять что от меня хотят Дан набор карточек, на каждой из которых...

Класс "Каталог библиотечных карточек"
Создайте класс card, который поддерживает каталог библиотечных карточек. Этот класс должен хранить заглавие книги, имя автора и выданное...

Есть простой масив, на 20 карточек, мне нужно вывести результат в 2 строки по 10 карточек
Дообры день. Есть простой масив, на 20 карточек, мне нужно вывести результат в 2 строки по 10 карточек. я это реализовал двумя циклами. ...

УТ 11 Учет карточек
Здравствуйте! Такой вопрос - есть, скажем, магнитные карты (типа как пропуска ч-з турникеты), которые поступают партиями по 100, 300,...

Копирование SD-карточек
Коллеги! Кто имел дело с AVR и SD-карточками. Хочу оценить возможность сделать копировщик карточек. Конкретно интересует - сколько...


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

Или воспользуйтесь поиском по форуму:
25
Ответ Создать тему
Новые блоги и статьи
Транслитерация текста с кириллицы на латиницу (вариант №2)
Maks 13.11.2026
Обновленная версия ранее созданной обработки. Добавлено: - Проверка исходного текста на кириллицу, через обращение к стандартной функции "ТолькоКириллицаВСтроке" из общего модуля. . .
Часы с термометром и праздничным календарем
yariko 12.11.2026
Сегодня мы рассмотрим как можно сделать отличные многофункциональные часы. Итак, поставим конкретную задачу: разработать часы с календарем, двумя термодатчиками, выводом поздравительных сообщений. . .
Транслитерация текста с кириллицы на латиницу (вариант №1)
Maks 11.11.2026
Решил облегчить жизнь себе и коллегам админам при создании электронных почтовых ящиков для пользователей, в результате написал обработку "Транслитерация текста" с кириллицы на латиницу, а в ней. . .
Книги по геймдизайну, левел-дизайну, игровым механикам и проектированию игрового опыта
8Observer8 08.11.2026
Содержание блога | English Version 1. 2003 - 06 - Designing Virtual Worlds (1st Edition) Автор: Richard A. Bartle | Объем: 768 стр. Ссылки: Amazon . . .
Родители токсичные абьюзеры по отношению к своим детям ругают их оскорбляют не любят
zorxor 08.11.2026
Жить в атмосфере постоянных оскорблений, критики и холодности со стороны родителей — это тяжелое и болезненное испытание, которое оставляет глубокие эмоциональные раны. Токсичное и абьюзивное. . .
Как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Ответ от Джемени ИИ.
zorxor 08.11.2026
Джемени, как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Многие люди, возвращаясь домой, сразу переодеваются в максимально свободную одежду или вовсе предпочитают. . .
Паттерн очереди действий/команд (Action / Command Queue). Система очереди действий и кат-сцен с SDL3 Callbacks, cglm и OpenGL
8Observer8 07.11.2026
Содержание блога | English Version Руководство для начинающих по реализации паттерна очереди действий/ команд (Action / Command Queue) на C++ (C++20) с использованием официального SDL3 Callbacks. . .
Проверка полного ФИО в типовом справочнике
Maks 07.11.2026
Решение реализовано в конфигурации КА2, на примере справочника "КонтактныеЛицаПартнеров". Задача: Запрет инициалов. Не допускаеть использование сокращений вида "И. И. ", "И. И. ", "И И" и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru