zoukankan      html  css  js  c++  java
  • HDU5339——DFS——Untitled

    There is an integer a and n integers b1,,bn. After selecting some numbers from b1,,bn in any order, say c1,,cr, we want to make sure that a mod c1 mod c2 mod mod cr=0 (i.e., a will become the remainder divided by ci each time, and at the end, we want a to become 0). Please determine the minimum value of r. If the goal cannot be achieved, print 1 instead.

     


    Input
    The first line contains one integer T5, which represents the number of testcases. 

    For each testcase, there are two lines:

    1. The first line contains two integers n and a (1n20,1a106).

    2. The second line contains n integers b1,,bn (1in,1bi106).
     


    Output
    Print T answers in T lines.
     


    Sample Input
    2 2 9 2 7 2 9 6 7
     


    Sample Output
    2 -1
     


    Source
     
    /*
    暴力枚举所有情况取最小值
    */
    #include <bits/stdc++.h>
    using namespace std;
    
    const int MAX = 1e6 + 10;
    int b[MAX];
    int vis[22];
    int n, a;
    int ans;
    
    bool cmp(int a, int b)
    {
        return a > b;
    }
    void dfs(int m, int step)
    {
        if(m == 0){
            ans = min(ans, step);
            return;
        }
        for(int i = 1; i <= n; i++){
            if(m >= b[i])
                dfs(m%b[i], step+1);
        }
    }
    
    int main()
    {
        int T;
        scanf("%d", &T);
        while(T--){
            ans = 1111111;
            scanf("%d%d", &n, &a);
            for(int i = 1; i <= n; i++)
                scanf("%d", &b[i]);
            sort(b + 1, b + n + 1, cmp);
            dfs(a, 0);
            if(ans == 1111111) printf("-1
    ");
            else  printf("%d
    ", ans);
            }
        return 0;
    }
    

      

  • 相关阅读:
    Java Web前后端分离的思考与实践
    JDBC剖析篇(1):java中的Class.forName()
    UVa1471
    Uva11572
    Uva11134
    Uva10755
    Floyd判圈法
    Java泛型-通配符的上限和下限问题
    Codeforces 384E-线段树+dfs序
    codeforcesRound378C-dfs+树状数组
  • 原文地址:https://www.cnblogs.com/zero-begin/p/4695838.html
Copyright © 2011-2022 走看看