CodeForces 518A Vitaly and Strings (水题,字符串)

时间:2021-07-07 16:01:42

题意:给定两个相同长度的字符串,让你找出一个字符串,字典序在两都之间。

析:这个题当时WA了好多次,后来才发现是这么水,我们只要把 s 串加上,然后和算数一样,该进位进位,然后再和 t 比较就行。

代码如下:

#include <iostream>
#include <cstdio>
#include <algorithm>
#include <vector>
#include <set>
#include <cstring>
#include <cmath>
#include <map>
#include <cctype> using namespace std;
const int maxn = 1000 + 5;
string s, t; int main(){
while(cin >> s >> t){
int n = s.size();
int cnt = 0;
++s[n-1];
if(s[n-1] > 'z'){ s[n-1] = 'a'; cnt = 1; }
for(int i = n-2; i >= 0; --i){
s[i] += cnt;
if(s[i] > 'z'){ s[i] = 'a'; cnt = 1; }
else cnt = 0;
}
if(s == t) puts("No such string");
else cout << s << endl; }
return 0;
}