样例过了,但是0分

B3843 [GESP202306 三级] 密码合规

isalpha判断的是所有字母,不论大小写。ABCD@!可以hack
by elpsconr @ 2024-04-25 23:46:37


ABCD@!aa是可以作为密码的,而你这个代码却输不出来
by elpsconr @ 2024-04-25 23:49:17


@[elpsconr](/user/1122530) 太厉害啦 ```c #include <iostream> #include <iomanip> #include <sstream> using namespace std; int cnt_a, cnt_A, cnt_1, cnt_ch, cnt_bad; string s, a; int main() { cin >> s; for (char& c : s) { if (c == ',') c = ' '; } stringstream ss(s); while (ss >> a) { cnt_a = 0, cnt_A = 0, cnt_1 = 0, cnt_ch = 0, cnt_bad = 0; if (a.length() <= 12 && a.length() >= 6) { for (char &c : a) { if (islower(c)) { cnt_a = 1; } else if (isupper(c)) { cnt_A = 1; } else if (isdigit(c)) { cnt_1 = 1; } else if (c == '!' || c == '#' || c == '@' || c == '$') { cnt_ch = 1; } else { cnt_bad = 1; } } if (cnt_bad) continue; if ((cnt_a + cnt_A + cnt_1 >= 2) && cnt_ch) { cout << a << endl; } } } return 0; } ```
by Seven_tc @ 2024-04-27 13:57:32


|