题目链接:点击打开链接
题目的大意就是给两串字符串a,b,保证其中a一定严格字典序小于b,问是否有字符串大小处于两者之间,有则输出一个解。
可以这样想,如果解存在,给a的值+1就一定是一个解,否则,a的值+1应该等于b。然后我们就只要处理一下a,看看是否等于b,注意,字符集为小写字母,所以要考虑到z的进位问题,详见代码
#include <bits/stdc++.h>
using namespace std;
char a[105],b[105];
int main()
{
cin>>a;
cin>>b;
int n,len;
n = strlen(a);
len = n;
n--;
bool flag = true;
while(a[n] == 'z'){
a[n] = 'a';
n--;
}
a[n]++;
for(int i = 0;i<len;i++){
if(a[i]!=b[i]){
flag = false;
break;
}
}
if(flag){
printf("No such string\n");
}
else{
cout<<a<<endl;
}
return 0;
}