#include #include using namespace std; bool isSpecialCharacterPresent(string password, map specialCharacters) { bool isStringGood = false; for(int i=0; i=97 && int(password[i])<=122) { isStringGood = true; break; } } return isStringGood; } bool isUpperEnglishCharacterPresent(string password) { bool isStringGood = false; for(int i=0; i=65 && int(password[i])<=90) { isStringGood = true; break; } } return isStringGood; } bool isNumericalDigitPresent(string password) { bool isStringGood = false; for(int i=0; i=48 && int(password[i])<=57) { isStringGood = true; break; } } return isStringGood; } int returnRequiredSizeOfPassword(string password) { return password.size() >= 6 ? 0 : 6-int(password.size()); } int main() { ios_base::sync_with_stdio(false); int N; cin >> N; map specialCharacters; //"!@#$%^&*()-+" specialCharacters['!'] = true; specialCharacters['@'] = true; specialCharacters['#'] = true; specialCharacters['$'] = true; specialCharacters['%'] = true; specialCharacters['^'] = true; specialCharacters['&'] = true; specialCharacters['*'] = true; specialCharacters['('] = true; specialCharacters[')'] = true; specialCharacters['-'] = true; specialCharacters['+'] = true; string password; cin >> password; int additionalCharacters = 0; int mandatoryCharacters = returnRequiredSizeOfPassword(password); if (!isNumericalDigitPresent(password)) additionalCharacters++; if (!isLowerEnglishCharacterPresent(password)) additionalCharacters++; if (!isUpperEnglishCharacterPresent(password)) additionalCharacters++; if (!isSpecialCharacterPresent(password, specialCharacters)) additionalCharacters++; if (mandatoryCharacters>additionalCharacters) cout << mandatoryCharacters; else cout << additionalCharacters; return 0; }