现在的位置: 首页 > 综合 > 正文

A. Beautiful Year

2013年07月30日 ⁄ 综合 ⁄ 共 1030字 ⁄ 字号 评论关闭
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

解题说明:找到比输入年份大的最小的各个数字不同的年份,第一次写一个包含6个判断的if条件

#include <iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
using namespace std;

int main()
{
	int n;
	int i,k;
	int year;
	int flag[5];
	scanf("%d",&n);
	for(i=n+1;i<10000;i++)
	{
		k=0;
		year=i;
		while(year)
		{
			flag[k++]=year%10;
			year=year/10;
		}
		if(flag[0]!=flag[1]&&flag[0]!=flag[2]&&flag[0]!=flag[3]&&flag[1]!=flag[2]&&flag[1]!=flag[3]&&flag[2]!=flag[3])
		{
			printf("%d\n",i);
			break;
		}
	}
    return 0;
}

抱歉!评论已关闭.