Предмет: Программирование. Добавлен: 12.11.2020. Год: 2018. Страниц: 7. Оригинальность по antiplagiat.ru: < 30% |
A. Проверка строки У A есть строка, изначально состоящая из некоторого количество букв «a». Он дал свою строку другу B, который добавил некоторое количество букв «b» в конец этой строки. Так как A и B любят буквы «a» и «b», то после этих операций в строке есть хотя бы по одной букве «a» и «b». Затем B передал эту строку C, который добавил некоторое количество букв «c» в конец строки. Так как C хороший друг A и B, количество букв «c», которые он добавил к строке, равно количеству букв «a» или количеству букв «b», имеющихся в строке. Возможно такое, что количество букв «c» одновременно равно количеству букв «a» и количеству букв «b». Вам дана строка и вы должны определить могла ли эта строка быть получена в результате описанных выше действий. Если это возможно, выведите «YES», иначе, выведите «NO» (без кавычек). Входные данные В единственной строке входных данных задана строка SS (1?|S|?50001?|S|?5000). Гарантируется, что строка состоит только из строчных латинских букв «a», «b», «c». Выходные данные Выведите «YES» или «NO» в соответствии с условием. Примеры входные данные aaabccc выходные данные YES входные данные bbacc выходные данные NO входные данные aabc выходные данные YES Примечание Рассмотрим первый пример: количество букв «c» равно количеству букв «a». Рассмотрим второй пример: несмотря на то, что количество букв «c» равно количеству букв «b», порядок букв неправильный. Рассмотрим третий пример: количество букв «c» равно количеству букв «b». Код программы: #include ‹iostream› #include ‹string› #include ‹algorithm› using namespace std; int main () { string s; cin ›› s; string s1 = s; sort(s1.begin(), s1.end()); if (s1 != s) { cout ‹‹ "NO"; return 0; } *** } Описание программы: сортируем строку s1 и сравниваем с s если они равны, то считается кол-во букв a, b и c , если a==c или b==c то выводим yes, иначе no. B. Множество - 1 Вам требуется написать программу для работы со множеством целых чисел, реализующую следующие основные операции: • вставка элемента. Если элемент уже есть во множестве, оно не изменяется • определение размера множества, то есть количества элементов в нём Входные данные В первой строке входных данных записано целое число N – количество вставляемых элементов (1???N???105). В следующих Nстроках записано по одному целому числу – элементы, которые будут поочерёдно вставляться в множество (все элементы не превышают по модулю 109). Выходные данные Выведите N целых чисел – размер множества после вставки каждого элемента Пример входные данные 4 1 3 1 2 выходные данные 1 2 2 3 Код программы: #include ‹iostream› #include ‹set› #include ‹algorithm› using namespace std; int main () { set ‹int› ps; int n,t; cin ›› n;... Описание программы: вставляем элемент в множество если встретилось add , если встретилось del удаляем. D. Множество - 3 Вам требуется написать программу для работы со множеством целых чисел, реализующую следующие основные операции: • вставка элемента. Если элемент уже есть во множестве, оно не изменяется • поиск элемента по его порядковому номеру (считая, что все элементы во множестве пронумерованы по возрастанию – у самого маленького номер 1, у следующего – 2 и т.д.) Входные данные В первой строке входных данных записано целое число N – количество вставляемых элементов (1???N???105). В следующих Nстроках записана команда (add или get) и через пробел целое число x. В случае команды add число x – это элемент, который нужно вставить в множество. В случае команды get число x – это порядковый номер элемента, который нужно напечатать (гарантируется, что элемент с таким номером в множестве есть). Все элементы множества не превышают по модулю 109. Выходные данные Выведите ответ для каждой команды get. Пример входные данные 5 add 1 add 3 get 1 add 1 get 2 выходные данные 1 3 Код программы: #include ‹ext/pb_ds/assoc_conta ner.hpp› #include ‹ext/pb_ds/tree_policy hpp› #include ‹ext/pb_ds/detail/sta dard_policies.hpp› #include ‹iostream› #include ‹algorithm› #include ‹string› using namespace std; using namespace __gnu_pbds; typedef tree‹... Описание программы: Описание программы: суть данной структуры описана в blog/entry/9702 Процедура x.order_of_key(key) выводит кол-во элементов меньших key. |
Перейти к полному тексту работы |