SDUT测试赛——Problem F

来源:互联网 发布:hidpi canvas.js下载 编辑:程序博客网 时间:2024/04/30 03:49

原题:

题目描述

       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.
      Given a year number, find the minimum year number which is strictly larger than the given one and has only distinct digits.

输入

 There are multiple test cases.
Each test case contains a single line contains integer y (1000 ≤ y ≤ 9000) — the year number.

输出

For each test case:
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.

示例输入

19872013

示例输出

20132014

 

分析:

so easy滴~~~不解释啦!~~~

原码:

#include<stdio.h>int main(){int a;int n=0;int b[5000];for(int i=1000;i<9100;i++){if((i/1000!=i/100%10)&&(i/1000!=i%100/10)&&(i/1000!=i%10)&&(i/100%10!=i%100/10)&&(i/100%10!=i%10)&&(i%100/10!=i%10)){b[n]=i;n++;}}while(scanf("%d",&a)!=EOF){for(int i=0;i<=n;i++){if(b[i]>a){printf("%d\n",b[i]);break;}}}return 0;}


 

原创粉丝点击