A. Vitaly and Strings

题意:

给出两个长度相同的字符串,问是否存在一个字符串,该串的字典序大于输入的第一个串 且 小于第二个串。

分析:

找出比第一个串大一的串,看看它是否小于第二个串,是的话就满足,否则不存在这样的串。

 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 
 4 const int maxn = 110;
 5 
 6 char s1[maxn], s2[maxn];
 7 
 8 int main()
 9 {
10     //freopen("in.txt", "r", stdin);
11 
12     scanf("%s%s", s1, s2);
13     int l = strlen(s1);
14     int i = l-1;
15     s1[i] += 1;
16     bool flag = false;
17     while(i > 0 && s1[i] > 'z')
18     {
19         s1[i] -= 26;
20         s1[--i] += 1;
21     }
22     if(s1[0] > 'z') { puts("No such string"); return 0; }
23     for(int i = 0; i < l; ++i) if(s1[i] < s2[i]) { flag = true; break; }
24 
25     if(flag) printf("%s\n", s1);
26     else puts("No such string");
27 
28     return 0;
29 }
代码君

相关文章: