Задача
Маленькие Дима и Петя хотят организовать соревнование. Их маленькие друзья выслали им несколько задач. Теперь Дима и Петя должны выбрать несколько задач для соревнования. Поскольку они еще маленькие, то не могут оценить качество задач, однако они знают что в хорошем контесте заглавия первой задачи начинаются с буквы $ A $ , заглавия второй задачи — с буквы $ B $ и так далее.
Заданы заглавия предложенных задач. Помогите братьям определить наибольшее количество задач в хорошем соревновании, которое они смогут организовать.
Входные данные
Первая строка содержит одно число $ n $ — количество предложенных задач, полученных маленькими братьями [latex](1 \leqslant n \leqslant 100)[/latex]
Следующие $ n $ строк содержат заглавия предложенных задач, по одной в строке. Длина каждого заглавия не превосходит $ 30 $ символов. Каждое заглавие начинается с заглавной буквы и содержит буквы только латинского алфавита, цифры и символы подчеркивания.
Выходные данные
Вывести одно число — наибольшее возможное количество задач в хорошем соревновании. Если хорошего соревнования устроить нельзя, вывести $0$.
Тесты
№ | Входные данные | Выходные данные |
1. | 10 Use Algorithm_of Branch Chill Cout_Hello_World General Duck Ping_pong Pong_ping End |
5 |
2. | 4 Spasibo_tebe John_von_Neumann Za Nuli_i_edunichki |
0 |
3. | 6 All Sample Simple Games_of_mind Bee |
2 |
4. | 7 Andreev_Borys Borys_Andreev C_P_P Demo_version E_Olymp Fraction General |
7 |
Код
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
#include <iostream> using namespace std; int m[26]; int main() { int n; cin >> n; string s; for (int j = 0; j <= n; j++) { getline(cin, s); m[int(s[0] - 'A')]++; // от первой буквы названий задач отнимаем А, чтобы получить её номер в алфавите } int k = 0; for (int i = 0; i < 26; i++) { if (m[i] != 0) k++; if (m[i] == 0) break; } cout << k; return 0; } |
Объяснение
Нам нужно вводить количество предложенных задач и их названия с клавиатуры и вывести наибольшее количество заглавных букв этих задач, которые идут в алфавитном порядке.
Алгоритм решения задачи:
- Создаем массив.
- Читаем строку циклом и определяем первую букву.
- Кладем первую букву в массив, если разница отлична от нуля.