点赞关注可看此篇博客及其余atcoder,洛谷,cf,loj的AC代码
题目意思大体就是:
一个字符串S,里面只有A,B和C三种字符(大写),或没有(例如A,AAB等)。判断字符串S是否按A,B,C的顺序排序。
小提示:
ABC,AAABCCCC是可以的;
ACB,AABCB是不可以的(顺序颠倒);
A,也是可以的;
再例如B,因为前面无A,所以不可以。
废话不多说,看代码就得了!
AC代码
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
int size(string s){
int i=0;
while(s[i]!='#'){
i++;
}
return i;//i包含'#',比实际多1
}
int main(){
string s;
cin>>s;
s=s+'#';
char flag='A';
int i=0;
while(s[i]==flag){
i++;
}
flag++;
while(s[i]==flag){
i++;
}
flag++;
while(s[i]==flag){
i++;//i比实际多1
}
if(i==size(s)){
cout<<"Yes";
}
else{
cout<<"No";
}
return 0;
}