hdu 5339 Untitled(回溯)
来源:互联网 发布:淘宝网男士假发 编辑:程序博客网 时间:2024/05/24 03:22
hdu 5339 Untitled
题目大意:给出n个数字的序列,和一个数a,在n中有m个数b1,...,bm 使得__a %b1%b2%...%bm = 0,求最小的m。
解题思路:回溯。
#include <cstdio>#include <cstring>#include <algorithm>#include <cmath>#include <cstdlib>using namespace std;const int N = 50;const int INF = 50;typedef long long ll;int n, a, cnt;int num[N];int vis[N], ans;void DFS(int x, int dis) { if (dis >= ans) return; if (x == 0) { if (ans > dis) ans = dis; return; } for (int i = 0; i < cnt; i++) { if (num[i] > x) break; if (!vis[i]) { vis[i] = 1; DFS(x % num[i], dis + 1); vis[i] = 0; } }}int main() { int T; scanf("%d", &T); while (T--) { ans = INF; scanf("%d %d", &n, &a); int temp, flag = 0; cnt = 0; for (int i = 0; i < n; i++) { scanf("%d", &temp); if (temp == a || temp == 1) { flag = 1; break; } else if (temp < a) { num[cnt++] = temp; } } if (flag) { printf("1\n"); continue; } sort(num, num + cnt); DFS(a, 0); if (ans == INF) printf("-1\n"); else printf("%d\n", ans); } return 0;}
0 0
- hdu 5339 Untitled(回溯)
- hdu 5339 Untitled(回溯)
- HDU 5339 Untitled(DFS)
- HDU 5339 Untitled (DFS)
- hdu 5339 Untitled(暴力)
- HDU 5339 Untitled(枚举)
- hdu 5339 Untitled
- HDU 5339 Untitled
- hdu 5339 Untitled【搜索】
- hdu 5339 Untitled
- HDU 5339-Untitled(dfs)
- HDU 5339 Untitled
- HDU-5339 Untitled
- HDU 5339 Untitled
- HDU 5339Untitled
- HDU 5339 Untitled
- hdu 5339 Untitled (dfs)
- 【DFS】hdu 5339 Untitled
- Tomcat的server.xml数据源JDBC配置
- C++ sort()
- 并查集算法的简介与算法实现
- ubuntu下的vim设置配色方案
- java的网络连接Socket与ServerSocket与集合的用法
- hdu 5339 Untitled(回溯)
- 数论总结
- Syslogger: Forward syslog to Apache Kafka
- 线段树_HDU_1698
- 余弦推倒
- 新手学习Html易混淆的概念1
- php连接mysql数据库失败解决办法
- 内存对齐的规则以及作用
- 线段树 (区间修改 区间查询 延迟标记)