codeforces 166 Div2 A

mac2022-06-30  62

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 }

 

转载于:https://www.cnblogs.com/shadow-justice/archive/2013/02/13/2911030.html

最新回复(0)