zoukankan      html  css  js  c++  java
  • Codeforces Round #166 (Div. 2) A. Beautiful Year【暴力枚举/逆向思维/大于当前数且每个位数不同】

    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.

    Examples
    input
    1987
    output
    2013
    input
    2013
    output
    2014

    【题意】:给你一个数。求大于该数且每个位数不相同。四位数。
    【分析】:逆向思维,类似回文串,双重循环,一个指针遍历,另一个指针紧跟其后。两两一相等就return false了。
    【代码】:
    #include<cstdio>
    #include<iostream>
    #include<queue>
    #include<algorithm>
    using namespace std;
    bool check(int n)
    {
        int i=0,a[4],j;
        while(n)
        {
            a[i++]=n%10;
            n/=10;
        }
    
        for(int i=0;i<4;i++)
        {
            for(int j=i+1;j<4;j++)
            {
                if(a[i]==a[j])
                    return false;
            }
        }
        return true;
    }
    int main()
    {
        int n;
        while(cin>>n)
        {
            for(int i=n+1; ;i++)
            {
                if(check(i))
                {
                    cout<<i<<endl;
                    break;
                }
            }
        }
        return 0;
    }
    类似回文串的判断
  • 相关阅读:
    LeetCode 382. Linked List Random Node
    LeetCode 398. Random Pick Index
    LeetCode 1002. Find Common Characters
    LeetCode 498. Diagonal Traverse
    LeetCode 825. Friends Of Appropriate Ages
    LeetCode 824. Goat Latin
    LeetCode 896. Monotonic Array
    LeetCode 987. Vertical Order Traversal of a Binary Tree
    LeetCode 689. Maximum Sum of 3 Non-Overlapping Subarrays
    LeetCode 636. Exclusive Time of Functions
  • 原文地址:https://www.cnblogs.com/Roni-i/p/7923199.html
Copyright © 2011-2022 走看看