Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <set>
- #include <fstream>
- using namespace std;
- int main() {
- ifstream cin("broken-keyboard.in");
- ofstream cout("broken-keyboard.out");
- set<string> words;
- int n;
- cin >> n;
- for (int i = 0; i < n; ++i) {
- set<char> usedSymbolsInWord;
- string s;
- cin >> s;
- bool flag = false;
- string pref;
- for (unsigned int j = 0; j < s.length(); ++j) {
- if (usedSymbolsInWord.count(s[j]) != 0) {
- if (words.count(pref) == 0) {
- for (unsigned int k = j; k < s.length(); ++k) {
- words.insert(pref + s[k]);
- pref += s[k];
- }
- flag = true;
- break;
- } else {
- break;
- }
- } else if (words.count(pref + s[j]) == 0) {
- for (unsigned int k = j; k < s.length(); ++k) {
- words.insert(pref + s[k]);
- pref += s[k];
- }
- flag = true;
- break;
- }
- usedSymbolsInWord.insert(s[j]);
- pref += s[j];
- }
- if (flag) {
- cout << "YES\n";
- } else {
- cout << "NO\n";
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement