10624 - Super Number
来源:互联网 发布:桥豆麻袋 陈粒 知乎 编辑:程序博客网 时间:2024/05/19 11:50
题目链接
题意:给出n到m的范围,求出一个数在前i位数组成的数字能被i整除,如果存在输出这个数,如果不存在,输出-1.
思路:回溯,每次放第i位,然后判断是否符合题意。这题踩着时间过去的2.6s(看了下别人的题解,可以减少取模次数来节省时间)。
代码:
#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>using namespace std;const int MAXN = 35;int arr[MAXN];int n, m, flag;int mod(int d) { int sum = 0; for (int i = 0; i < d; i++) { sum = (sum * 10 + arr[i]) % d; } return sum;}int dfs(int cur) { if (cur == m) return true; for (int i = 0; i <= 9; i++) { arr[cur] = i; if (cur < n - 1 || (cur >= n - 1 && !mod(cur + 1))) { if (dfs(cur + 1)) return true; } } return false;}int main() { int cas, t = 1; scanf("%d", &cas); while (cas--) { scanf("%d%d", &n, &m); flag = 0; for (int i = 1; i <= 9; i++) { arr[0] = i; if (dfs(1)) { flag = 1; break; } } printf("Case %d: ", t++); if (flag) { for (int i = 0; i < m; i++) printf("%d", arr[i]); printf("\n"); } else printf("-1\n"); } return 0;}
0 0
- uva 10624 - Super Number
- uva 10624Super Number
- UVa 10624 - Super Number
- UVA 10624 - Super Number
- 10624 - Super Number
- UVa 10624 - Super Number
- 10624 - Super Number
- UVA - 10624 Super Number
- uva 10624 Super Number 回溯
- UVA - 10624 Super Number 暴力
- UVA - 10624 Super Number(回溯)
- uva10624 - Super Number
- [回溯]Super Number uva10624
- UVA10624 - Super Number(dfs)
- leetcode Super Ugly Number
- Super Ugly Number | LeetCode
- leetcode Super Ugly Number
- Super Ugly Number
- [Coursera][Stanford] Machine Learning Week 4
- 黑马程序员——IO流
- hdu 2082 母函数
- 【网络流】hdu 3549
- 言吾
- 10624 - Super Number
- android Activity加载完成后的监听事件
- linux中的shell script 的流程控制语句
- type conversion of array and pointer in C(2)
- 需求的分类
- Delphi下的进制转换
- 信号源远程控制
- 满天繁星
- linux学习之文件操作