A. Beautiful Year
time limit per test
2 seconds
memory limit per test
256 megabytes
input
standard input
output
standard output

It seems like the year of 2013 came only yesterday. Do you know a curious fact? The year of 2013 is the first year after the old 1987 with only distinct digits.

Now you are suggested to solve the following problem: given a year number, find the minimum year number which is strictly larger than the given one and has only distinct digits.

Input

The single line contains integer y (1000 ≤ y ≤ 9000) — the year number.

Output

Print a single integer — the minimum year number that is strictly larger than y and all it's digits are distinct. It is guaranteed that the answer exists.

Sample test(s)
input
1987
output
2013
input
2013
output
2014

 不符合就不停的加就行了。。囧 水。。

代码:

 1 #include<iostream>
 2 using namespace std;
 3 int diff( int year)
 4 {
 5     int a, b, c, d;
 6     a=year%10;
 7     year/=10;
 8     b=year%10;
 9     year/=10;
10     c=year%10;
11     year/=10;
12     d=year;
13     if( a!=b && a!=c && a!=d && b!=c && b!=d && c!=d)
14         return 0;
15     else
16         return 1;
17 }
18 
19 int main( void)
20 {
21     int year, ans;
22     cin>>year;
23     ans=year+1;
24     while( diff(ans) )
25     {
26         ans++;
27     }
28     cout<<ans<<endl;
29     return 0;
30 }