1. 程式人生 > >Codeforces Round #293 (Div. 2)A. Vitaly and Strings

Codeforces Round #293 (Div. 2)A. Vitaly and Strings

這題非常有意思,各種HACk - - ,給HACK後正場比賽都。。。。。還花了大把的時間去改,還WA ,水平太差

題目連線:http://codeforces.com/contest/518/problem/A

題意:給出兩個字串s、t (t字典序比s大),問有沒有字典序在s 和t 之間的字串有就輸出任意一個符合條件的,沒有輸出 "No such string"

想想挺簡單的,要是我們用手寫肯定100%寫出正確答案,可是碼程式碼,我就弱了。

思路:從s串的末端開始往前掃,我們的目的是按字典序找出在s串後一個的字串,然後與t串比較看看是否相等,相等就GG,不相等就輸出s,這裡string比較可以直接用 == 判斷寫起來挺方便的。

A. Vitaly and Strings time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output

Vitaly is a diligent student who never missed a lesson in his five years of studying in the university. He always does his homework on time and passes his exams in time.

During the last lesson the teacher has provided two strings s and t to Vitaly. The strings have the same length, they consist of lowercase English letters, string s is lexicographically smaller than string t. Vitaly wondered if there is such string that is lexicographically larger than string s

 and at the same is lexicographically smaller than string t. This string should also consist of lowercase English letters and have the length equal to the lengths of strings s and t.

Let's help Vitaly solve this easy problem!

Input

The first line contains string s (1 ≤ |s| ≤ 100), consisting of lowercase English letters. Here, |s| denotes the length of the string.

The second line contains string t (|t| = |s|), consisting of lowercase English letters.

It is guaranteed that the lengths of strings s and t are the same and string s is lexicographically less than string t.

Output

If the string that meets the given requirements doesn't exist, print a single string "No such string" (without the quotes).

If such string exists, print it. If there are multiple valid strings, you may print any of them.

Sample test(s) input
a
c
output
b
input
aaa
zzz
output
kkk
input
abcdefg
abcdefh
output
No such string
#include<iostream>
using namespace std;
int main()
{
     string s,t;
     cin >> s >> t;
     for(int i = s.length()-1 ; i >= 0 ; i--)
     {
          if(s[i] != 'z')
          {
               s[i]++;
               break;
          }
          else
               s[i] = 'a';
     }
     if(s!=t)
          cout << s;
     else
          cout << "No such string" << endl;
     return 0;
}