A. Beautiful Year
time limit per test
2 secondsmemory limit per test
256 megabytesinput
standard inputoutput
standard outputIt 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 }