若k=a*10+b...那么k%m=(a*10)%n+b%n...利用这个性质就可以BFS了...一位一位的搜...

当出现对n取余为0...则找到答案...

由于n最大为10000,而搜的时候,每个余数之考虑其第一个存在的数(最小的)..所以时间上完全ok....

Program:

#include<iostream>
#include<stdio.h>
#include<cmath>
#include<string.h>
#include<algorithm>
#include<queue>
#include<stack>
#define ll long long
#define oo 1000000007
#define MAXN 10005
using namespace std;
struct node
{string s;int m;
};
string ans;
bool f[12],used[MAXN];
int n;
queue<node> myqueue;
void BFS()
{int i;node h,p; ans="-1";memset(used,false,sizeof(used));while (!myqueue.empty()) myqueue.pop();for (i=1;i<=9;i++)if (f[i] && !used[i%n]) {h.m=i%n;h.s=i+'0'; myqueue.push(h);used[h.m]=true;if (h.m==0){ans=h.s;return;}} while (!myqueue.empty()){ h=myqueue.front();myqueue.pop();for (i=0;i<=9;i++)if (f[i] && !used[(h.m*10+i)%n]){p.m=(h.m*10+i)%n;p.s=h.s+char(i+'0');myqueue.push(p);used[p.m]=true; if (p.m==0){ans=p.s;return;}}}return;
}
int main()
{  int m,x,t=0;while (~scanf("%d",&n)){  memset(f,true,sizeof(f)); scanf("%d",&m);while (m--){scanf("%d",&x);f[x]=false;}BFS();  printf("Case %d: %s\n",++t,ans.c_str()); }return 0;
}

HDOJ - 4474 简单分析后,BFS相关推荐

  1. [EntLib]微软企业库5.0 学习之路——第七步、Cryptographer加密模块简单分析、自定义加密接口及使用—上篇...

    在完成了后,今天开始介绍企业库中的新模块:Cryptographer(加密模块),这个模块在日常的大多数项目的作用非常重要,例如:网站会员密码.身份证号.网站配置等,通过对信息进行加密可以保证项目数据 ...

  2. FFmpeg资料来源简单分析:libswscale的sws_getContext()

    ===================================================== FFmpeg库函数的源代码的分析文章: [骨架] FFmpeg源码结构图 - 解码 FFmp ...

  3. Mac与Phy组成原理的简单分析

    Mac与Phy组成原理的简单分析 2011-12-28 15:30:43 //http://blog.chinaunix.net/uid-20528014-id-3050217.html 本文乃fir ...

  4. Hessian 源码简单分析

    Hessian 源码简单分析 Hessian 是一个rpc框架, 我们需要先写一个服务端, 然后在客户端远程的调用它即可. 服务端: 服务端通常和spring 做集成. 首先写一个接口: public ...

  5. 基于OK6410开发板Uboot源码简单分析

    2018-04-07 OK6410开发板是基于三星S3C6410芯片设计的一款开发板,资源比较丰富,可是想要使用这些资源就需要编写相应的启动引导程序,即BootLoader.当然,想要自己凭空写出Bo ...

  6. Android 系统(261)---SIM卡不识或者掉卡简单分析

    SIM卡不识或者掉卡简单分析 1. 识卡大体过程 2.不识卡问题 不识卡的主要原因:  ①Modem发生错误,异常或者重启.  ②没有收到卡回的ATR  ③有收到卡回的ATR,但是后面跟卡通信出现异常 ...

  7. modem (1)---手机主叫的信道流程与Modem Log简单分析

    手机主叫的信道流程与Modem Log简单分析 层三信令里看到建立RRCCMM层什么的到底是什么意思?建立这些层有什么用? 从协议栈的角度来说,RR属于接入层,而MM和CC都属于非接入层即NAS. R ...

  8. Linux系统调用getuid的简单分析

    陈铁 + 原创作品转载请注明出处 + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000. Linux内核启 ...

  9. 爬虫入门-京东评论爬取和简单分析[学习笔记]

    随便点击一个商品,我点的是"https://item.jd.com/3533885.html" 查看评论是否动态数据:点击改变评论页数(图中1处),网址(图中2处)不会变,说明是动 ...

最新文章

  1. Pandas批量删除dataframe列名中的前缀实战:使用lstrip函数批量删除列名中的前缀(prefix)、使用replace函数批量删除列名中的前缀(prefix)
  2. 将选定的文本对象左对齐、右对齐或对中
  3. Ubuntu Server 下的网络配置
  4. 用户sa 登陆失败 SQLServer 错误18456----解决方法
  5. Linux Bash Shell j简单入门
  6. vue form validate 多个input_Vue表单校验插件Vuerify使用详细教程及示例
  7. 解决wireshark打开错误
  8. Python Cookbook(第3版)中文版:15.18 传递已打开的文件给C扩展
  9. 转载:C#7.0新特性(VS2017可用)
  10. [Java] - 项目中的防止同用户异地登录问题
  11. UniCode 常用字符大全
  12. lua源码分享适用脚本chiji游戏
  13. WPS国际版2019 中文
  14. IconFont图标库
  15. 用python查询生成国内法定节假日安排
  16. 嵌入式软件未来发展趋势
  17. 拨测技术在哪些方面应用比较广泛?
  18. eis系统 java_Java消息系统介绍 - marvin_vov的个人空间 - OSCHINA - 中文开源技术交流社区...
  19. HDU 4416 Good Article Good sentence(后缀数组)
  20. 面对新时代挑战,2019维谛技术峰会全面呈献硬核策略

热门文章

  1. 2017-2018-1 20155209 实验三 实时系统
  2. centos 6.5 安装openssl
  3. linux下添加用户并赋予root权限
  4. Android开发--TableLayout的应用
  5. 【Java Web】Myeclipse下运用maven管理项目jar包
  6. 从“小而精”到“大而广”,知乎怎样一步步迈向全民皆知?
  7. 投票|PMCAFF产品经理第一课,下一站去哪?杭州、深圳、上海...
  8. PMCAFF | O2O防刷单并没那么难,看完这些你也会反作弊
  9. 利用jvisualvm分析JVM,进行性能调优
  10. vue14 自定义过滤器