A Number Puzzle

Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 1449    Accepted Submission(s): 476

Problem Description
Lele 最近上课的时候都很无聊,所以他发明了一个数字游戏来打发时间。

这个游戏是这样的,首先,他拿出几张纸片,分别写上0到9之间的任意数字(可重复写某个数字),然后,他叫同学随便写两个数字X和K。Lele要做的事情就是重新拼这些纸牌,组成数字 T ,并且 T + X 是 K 的正整数倍。

有时候,当纸片很多的时候,Lele经常不能在一节课之内拼出来,但是他又想知道答案,所以,他想请你帮忙写一个程序来计算答案。

Input

本题目包含多组测试数据,请处理到文件结束。
每组数据第一行包含两个整数 N和M(0<N<9,0<M<2000),分别代表纸片的数目和询问的数目。
第二行包含N个整数分别代表纸片上写的数字,每个数字可能取0~9。
接下来有M行询问,每个询问给出两个整数X和K(0<=x<10^9,0<K<100)。

注意:在拼纸片的时候,每张纸片都必须用上,且T首位不能为0

Output

对于每次询问,如果能够用这些纸片拼出符合答案的T,就输出结果T。如果有多个结果,就输出符合要求的最小的T。
如果不能拼出,就输出"None"。

Sample Input

4 3 1 2 3 4 5 7 33 6 12 8

Sample Output

1234 None 1324

Author

linle

Source

2007省赛集训队练习赛(6)_linle专场

问题链接:HDU1755 A Number Puzzle

问题简述:参见上文。

问题分析:先占个位置,以后详细解释。

程序说明:(略)

题记:(略)

参考链接:(略)

AC的C++语言程序如下:

/* HDU1755 A Number Puzzle */#include <iostream>
#include <algorithm>
#include <stdio.h>using namespace std;const int BASE = 10;
const int N = 10;
int digits[N];
int t[1000000];int main()
{int n, m, sum, j;while(scanf("%d%d", &n, &m) != EOF) {for(int i=0; i<n; i++)scanf("%d", &digits[i]);sort(digits, digits + n);j = 0;do {if(digits[0]) {sum = 0;for(int i=0; i<n; i++)sum = sum * BASE + digits[i];t[j++] = sum;}} while(next_permutation(digits, digits + n));while(m--) {int x, k;scanf("%d%d", &x, &k);int flag = 1;for(int i=0; i<j; i++)if((t[i] + x) % k == 0) {printf("%d\n", t[i]);flag = 0;break;}if(flag)printf("None\n");}}return 0;
}

转载于:https://www.cnblogs.com/tigerisland/p/7563570.html

HDU1755 A Number Puzzle【全排列+暴力】相关推荐

  1. C#,楔子数(Sphenic Number)的暴力算法与高效算法源代码

    楔子数(Sphenic Number)来自于一个题目: Schoolboy Vasya is interested in the problem of distinguishing prime num ...

  2. 【ZOJ - 2836 】Number Puzzle (容斥原理)

    题干: Given a list of integers (A1, A2, ..., An), and a positive integer M, please find the number of ...

  3. codeforces 768 C. Jon Snow and his Favourite Number(思维+暴力)

    题目链接:http://codeforces.com/contest/768/problem/C 题意:给出n个数,k个操作,和一个x,每次操作先排序然后对奇数位数进行xor x操作,最后问k次操作后 ...

  4. HDOJ 1755 - A Number Puzzle 排列数字凑同余,状态压缩DP

    dp [ x ] [ y ] [ z ] 表示二进制y所表示的组合对应的之和mod x余数为z的最小数... 如可用的数字为 1 2 3 4...那么 dp [ 7 ] [ 15 ] [ 2 ] = ...

  5. ACM基础与精选2018

    会津大学基础题 AOJ0001 List of Top 3 Hills[水题] AOJ0002 Digit Number[水题] AOJ0005 GCD and LCM[GCD+LCM] AOJ000 ...

  6. 16行代码AC_蓝桥杯 2017年C组第三题 算式900(暴力解法+DFS解法)

    励志用更少的代码做更高效的表达 题目描述: 小明的作业本上有道思考题: 看下面的算式: (□□□□-□□□□)*□□=900 其中的小方块代表0~9的数字,这10个方块刚好包含了0~9中的所有数字. ...

  7. 【UVA - 227】Puzzle (模拟,水题)

    题干: Puzzle  A children's puzzle that was popular 30 years ago consisted of a 5x5 frame which contain ...

  8. TYUT-A专题题解(一)

    TYUT-A专题题解(一) 01A Ad Hoc UVA353 LA5247 Pesky Palindromes[回文] - 海岛Blog - CSDN博客 UVA947 Master Mind He ...

  9. ICPC程序设计题解书籍系列之三:秋田拓哉:《挑战程序设计竞赛》(第2版)

    白书<挑战程序设计竞赛>(第2版)题目一览 白书:秋田拓哉:<挑战程序设计竞赛>(第2版) 第1章 蓄势待发--准备篇(例题) POJ1852 UVa10714 ZOJ2376 ...

最新文章

  1. 【青少年编程】【三级】 魔术表演“开花”
  2. Mysql (一)Mysql 数据库增删改查
  3. Android应用开发:页面跳转和数据传递
  4. Acwing第 41 场周赛【完结】
  5. Exploring your Postgraduate Study Options
  6. boost::allocate_unique相关的测试程序
  7. Matlab解析LQR与MPC的关系
  8. 网络安全人才短缺加剧,企业如何不拘一格降人才?
  9. 开放Nginx在文件夹列表功能
  10. JavaScript中的.trim()无法在IE中运行
  11. localhost 和ip 地址访问的html页面样式不一样_搭建一个弹幕查询页面(1)
  12. 金蝶k3单据编码规则_金蝶k3套打格式设置图文教程(凭证与供应链单据)
  13. word宏的使用——Selection对象
  14. 【破解APP抓包限制】Xposed+JustTrustMe关闭SSL证书验证
  15. 「文章重现」2019发表在NBT的10x sc-ATAC-seq分析重现
  16. 安全-系统上线安全检查规范
  17. Linux如何检测栈溢出,Linux环境下栈溢出实验(一) 改变程序流程
  18. 点击button没有反应
  19. 基于HarmonyOS的华为智能手表APP开发实战——Fitness
  20. 由浅入深玩转华为WLAN—20 漫游系列(7)不同AC之间二层漫游【二层上线+直连式+直接转发模式】

热门文章

  1. Momenta 陈凯:从人才角度看 L4 无人驾驶的实现 | AI 研习社职播间第 4 期(附 Momenta 招聘解读)...
  2. 一线互联网常见的14个Java面试题,你颤抖了吗程序员...
  3. 探究position定位中absolute和relative的异同
  4. NYOJ-57 6174问题
  5. three.js加入监控
  6. iOS开发 - OC - 实现本地数据存储的几种方式一
  7. Apache 及 Nginx 配置
  8. ftp4j的android应用
  9. MyGui 3.2.0(OpenGL平台)的编译
  10. cygwin boost