Чтобы создать панграмму Codeforces на C++, вы можете использовать разные подходы. Панграмма – это предложение, в котором каждая буква алфавита содержится хотя бы один раз. Вот несколько способов добиться этого:
Метод 1: использование логического массива
#include <iostream>
#include <cstring>
using namespace std;
int main() {
int n;
cin >> n;
if (n < 26) {
cout << "NO" << endl;
return 0;
}
bool present[26];
memset(present, false, sizeof(present));
string word;
cin >> word;
for (char c : word) {
if (isalpha(c)) {
present[tolower(c) - 'a'] = true;
}
}
for (bool p : present) {
if (!p) {
cout << "NO" << endl;
return 0;
}
}
cout << "YES" << endl;
return 0;
}
Метод 2: использование битовой маски
#include <iostream>
#include <cstring>
using namespace std;
int main() {
int n;
cin >> n;
if (n < 26) {
cout << "NO" << endl;
return 0;
}
int mask = 0;
string word;
cin >> word;
for (char c : word) {
if (isalpha(c)) {
int index = tolower(c) - 'a';
mask |= (1 << index);
}
}
if (mask == (1 << 26) - 1) {
cout << "YES" << endl;
} else {
cout << "NO" << endl;
}
return 0;
}
Метод 3: использование набора
#include <iostream>
#include <set>
using namespace std;
int main() {
int n;
cin >> n;
if (n < 26) {
cout << "NO" << endl;
return 0;
}
set<char> letters;
string word;
cin >> word;
for (char c : word) {
if (isalpha(c)) {
letters.insert(tolower(c));
}
}
if (letters.size() == 26) {
cout << "YES" << endl;
} else {
cout << "NO" << endl;
}
return 0;
}