zoukankan      html  css  js  c++  java
  • [HDOJ5339]Untitled

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5339

    给你n个数字b1...bn和一个数字a,让你用a对b1...bn内的数字取模,求取模后值为0的最少的数。可以重复b内取值。

    首先明确一点,那就是一个数对一个较小数取模后再对一个较大数取模是没有任何意义的。因此重复取值是没有意义的,所以对数组b从大到小进行排序。

    之后状态压缩后枚举b内数字就可以了。也可以DFS出结果。

     1 #include <cstdio>
     2 #include <cstdlib>
     3 #include <cstring>
     4 #include <algorithm>
     5 #include <iostream>
     6 #include <cmath>
     7 #include <queue>
     8 #include <map>
     9 #include <stack>
    10 #include <list>
    11 #include <vector>
    12 
    13 using namespace std;
    14 
    15 const int maxn = 100010;
    16 const int INF = 1<<30;
    17 int n, a;
    18 int b[maxn];
    19 
    20 inline int min(int a, int b) {
    21     return a < b ? a : b;
    22 }
    23 int main() {
    24     // freopen("in", "r", stdin);
    25     int T;
    26     scanf("%d", &T);
    27     while(T--) {
    28         int ans = INF;
    29         scanf("%d %d", &n, &a);
    30         for(int i = 0; i < n; i++) {
    31             scanf("%d", &b[i]);
    32         }
    33         sort(b, b+n, greater<int>());
    34         int s = (1 << n);
    35         int cnt;
    36         for(int i = 1; i < s; i++) {
    37             int tmp = a;
    38             cnt = 0;
    39             for(int j = 0; j < n; j++) {
    40                 if(i & (1 << j)) {
    41                     tmp %= b[j];
    42                     cnt++;
    43                 }
    44             }
    45             if(tmp == 0) {
    46                 ans = min(ans, cnt);
    47             }
    48         }
    49         if(ans == INF) {
    50             printf("-1
    ");
    51         }
    52         else {
    53             printf("%d
    ", ans);
    54         }
    55     }
    56 }
  • 相关阅读:
    txt到txt处理_简单版
    解析文件格式,参考模板压缩包,第二次更新
    解析文件格式,参考模板压缩包,第一次更新
    解析文件格式,参考模板压缩包
    17定义局部过滤器
    16定义全局过滤器
    15 自定义分页pagination全局组件
    14 el-dialog 基本结构
    13props 对象
    12 props 传的是数组处理
  • 原文地址:https://www.cnblogs.com/kirai/p/4783047.html
Copyright © 2011-2022 走看看