#include <cstdlib>
#include <ctime>
#include <iostream>
#include <string>
std::string genpass(size_t size)
{
std::string pass;
pass.reserve(size);
for (size_t i = 0; i < size; i++)
{
char mode = std::rand() % 3;
char ch = 0;
switch (mode)
{
case 0:
ch = rand() % 26 + 'a';
break;
case 1:
ch = rand() % 26 + 'A';
break;
case 2:
ch = rand() % 10 + '0';
break;
}
pass.push_back(ch);
}
return pass;
}
int main()
{
std::srand(std::time(0));
std::cout << genpass(12U) << std::endl;
return 0;
}
I2luY2x1ZGUgPGNzdGRsaWI+CiNpbmNsdWRlIDxjdGltZT4KI2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgogCnN0ZDo6c3RyaW5nIGdlbnBhc3Moc2l6ZV90IHNpemUpCnsKICAgIHN0ZDo6c3RyaW5nIHBhc3M7CiAgICBwYXNzLnJlc2VydmUoc2l6ZSk7CiAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHNpemU7IGkrKykKICAgIHsKICAgICAgICBjaGFyIG1vZGUgPSBzdGQ6OnJhbmQoKSAlIDM7CiAgICAgICAgY2hhciBjaCA9IDA7CiAgICAgICAgc3dpdGNoIChtb2RlKQogICAgICAgIHsKICAgICAgICAgICAgY2FzZSAwOgogICAgICAgICAgICAgICAgY2ggPSByYW5kKCkgJSAyNiArICdhJzsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgCiAgICAgICAgICAgIGNhc2UgMToKICAgICAgICAgICAgICAgIGNoID0gcmFuZCgpICUgMjYgKyAnQSc7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIAogICAgICAgICAgICBjYXNlIDI6CiAgICAgICAgICAgICAgICBjaCA9IHJhbmQoKSAlIDEwICsgJzAnOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgICAgIHBhc3MucHVzaF9iYWNrKGNoKTsKICAgIH0KICAgIHJldHVybiBwYXNzOwp9CiAKaW50IG1haW4oKQp7CiAgICBzdGQ6OnNyYW5kKHN0ZDo6dGltZSgwKSk7CiAgICBzdGQ6OmNvdXQgPDwgZ2VucGFzcygxMlUpIDw8IHN0ZDo6ZW5kbDsKICAgIHJldHVybiAwOwp9