题目链接
http://codeforces.com/contest/1144/problem/A
题意
给一个只包含小写字母的字符串,问是否包含连续的字母且没有重复的字母。
思路
判断是否重复可以用set
判断连续可以遍历一遍set
AC代码
#include <cstdio>
#include <iostream>
#include <algorithm>
#include <cmath>
#include <cstring>
#include <set>
#include <vector>
#include <queue>
#include <stack>
using namespace std;
const int INF = 0x3f3f3f3f;
const int maxn = 100010;
set<char> S;
set<char>::iterator it;
set<char>::iterator it1;
char s[110];
int main() {
// freopen("in.txt", "r", stdin);
// freopen("out.txt", "w", stdout);
int n, len;
bool flag;
scanf("%d", &n);
for(int i = 0; i < n; i++) {
S.clear();
flag = true;
scanf("%s", s);
len = strlen(s);
if(len != 1) {
for(int j = 0; j < len; j++) {
if(S.find(s[j]) != S.end()) {
flag = false;
break;
}
S.insert(s[j]);
}
}
else {
printf("Yes\n");
continue;
}
if(flag) {
it = S.begin();
it1 = S.begin();
it++;
for( ; it != S.end(); it++, it1++) {
if(*it - *it1 != 1) {
flag = false;
break;
}
}
}
if(flag) {
printf("Yes\n");
}
else {
printf("No\n");
}
}
return 0;
}