Решение задачи "Разнообразные строки" с Codeforces

Без пояснения   Просмотров: 15


Строка называется разнообразной, если она содержит последовательные (соседние) буквы латинского алфавита и каждая бука встречается ровно один раз. Например, следующие строки являются разнообразными:«fced», «xyz», «r» и «dabcef». Следующие строки не являются разнообразными: «az», «aa», «bad» и «babc». Заметьте, что буквы 'a' и 'z' не являются соседними.

Более формально: рассмотрим позиции всех букв строки в алфавите. Эти позиции должны образовывать непрерывный отрезок, то есть они должны идти одна за другой без каких-либо пропусков. И все буквы в строке должны быть различны (дубликаты недопустимы).

Вам задана последовательность строк. Для каждой строки, если она является разнообразной, выведите «Yes». Иначе выведите «No».

Код

#include<bits/stdc++.h>
using namespace std;

int t, n;
string s;

int main() {
	cin >> t;
	while(t--) {
		cin >> s;
		n = s.size();
		string ans = "YES\n";
		sort(s.begin(), s.end());
		for (int i = 1; i < n; i++) {
			if(s[i] != s[i - 1] + 1) ans= "NO\n";
		}
		cout << ans;
	}
}

         

 Администратор Photo Автор: Администратор


Отправить решение задачи
Чтобы отправить решение вам нужно войти в систему или зарегистрироваться

Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться