Школа программиста

Забыли пароль?
[задачи] [курсы] [олимпиады] [регистрация]
Логин:   Пароль:    
Скрыть меню
О школе
Правила
Олимпиады
Фотоальбом
Гостевая
Форум
Архив олимпиад
Архив задач
Состояние системы
Рейтинг
Курсы
Новичкам
Работа в системе
Алгоритмы
Курсы ККДП
Дистрибутивы
Ссылки

HotLog


 

Генератор паролей

(Время: 1 сек. Память: 16 Мб Сложность: 23%)

После ряда утечек конфиденциальной информации общественность всерьез задумалась о том, какие пароли следует использовать. Например, пароль «11111» - простой и его не следует использовать. Но как определить, хороший ли пароль?

Фондом Стандартизации Бизнес-процессов было проведено исследование, показавшее, что хороший пароль должен быть достаточно длинным и содержать символы разных видов. Исследование показало, что в хорошем пароле должно быть ровно N символов. Пароль должен состоять из заглавных и строчных букв английского алфавита и цифр и удовлетворять следующим требованиям:

  • в пароле должно быть хотя бы A заглавных букв;
  • в пароле должно быть хотя бы B строчных букв;
  • в пароле должно быть хотя бы C цифр;
  • в пароле не должно быть двух одинаковых идущих подряд символов.

Понимая, что пользователям будет некомфортно придумывать пароль, удовлетворяющий всем этим требованиям, работники Фонда решили написать программу, призванную помочь пользователям в этом деле.

Помогите Фонду, напишите программу, которая по заданным параметрам генерирует подходящий пароль.

Входные данные

В первой строке входного файла INPUT.TXT записано натуральное число N (N ≤ 100) – требуемая длина пароля. Вторая строка содержит неотрицательные целые числа A, B и C – минимальное необходимое число заглавных букв, строчных букв и цифр соответственно (A+B+C ≤ N).

Выходные данные

В выходной файл OUTPUT.TXT в единственной строке выведите любой хороший пароль.

Пример

INPUT.TXTOUTPUT.TXT
18
2 5 1
PasSw0rd

Для отправки решения задачи необходимо зарегистрироваться и авторизоваться!

 Язык программирования C++
 Решение олимпиадных задач
 Региональные олимпиады
 Книги Фёдора Меньшикова
 Тренировочные олимпиады
 Введение
 Условный оператор
 Операторы цикла
 Строковые типы данных
 Массивы
 Функции
 Сортировка
 Двумерные массивы
 Рекурсия
 Символьный тип (char)
 Строковый тип (string)
 Системы счисления
 A. Цифра
 B. Верхний регистр
 C. Смена регистра
 D. Количество нулей
 E. Удаление цифр
 F. Простой шифр
 G. Вставка символов
 H. Кругляши
 I. Пароль
 J. Генератор паролей
 K. Нули
 L. Благозвучное слово
 M. IP-адрес
 N. Уравнение для 5 класса!

Красноярский краевой Дворец пионеров, (c)2006 - 2018, ICQ: 151483, E-mail: admin@acmp.ru