Решение задачи "Генератор паролей " с Acmp

Без пояснения   Просмотров: 21


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

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

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

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

Код

#include <bits/stdc++.h>

using namespace std;

int main()
{
    string s;
    int n,a,b,c,k = 0;
    cin >> n >> a >> b >> c;
    for(int i = 0; i < a; ++i){
        if(k % 2 == 0)
            s+='A';
        else
            s+='B';
        ++k;
    }
  	k = 0;
    for(int i = 0; i < b; ++i){
        if(k % 2 == 0)
            s+='a';
        else
            s+='b';
        ++k;
    }
	k = 0;
    for(int i = s.size(); i < n; ++i){
         if(k % 2 == 0)
            s+='1';
        else
            s+='2';
        ++k;
    }
    cout << s;
    return 0;
}

         

 Администратор Photo Автор: Администратор


Отправить решение задачи
Чтобы отправить решение вам нужно войти в систему или зарегистрироваться

Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться