若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. 零起点学算法10——求圆柱体的表面积
  2. docker分离部署lnmp
  3. python打地鼠游戏教程_Python入门小游戏,炫酷打地鼠教程第二部分,都是干货
  4. 基于Leaflet和高德Web API扩展地理编码服务
  5. windows2003 DNS服务器配置
  6. Cocos2d-x 寻路算法解析(一): 距离优先
  7. LOJ116 有源汇有上下界最大流(上下界网络流)
  8. 用Zend Encoder加密PHP文件和PHP 优化配置
  9. 浅谈equals与==
  10. qrcode生产带logo_比亚迪换新标?新Logo的含义你了解吗?
  11. 移动WEB开发之Safari、QQ、UC、360浏览器的私有Meta属性
  12. 华为太极magisk安装教程_Magisk字体包制作、字体包导入及导入失败等详细教程
  13. 关闭Apple Watch 上的激活锁的方法
  14. MD5(JavaScript)
  15. 蓝牙诊断工具_蓝牙故障诊断和使用指南
  16. Win10/UWP 扫描二维码
  17. SQL语句在Mysql中是如何被执行的?
  18. 18、CSS基础——属性值的计算过程
  19. 小红书引流软件有哪些
  20. Python 类变量,成员变量,静态变量,局部变量

热门文章

  1. 3.git版本控制-管理修改、撤销、删除
  2. Linux 小知识点
  3. 自学HTML5第三节(拖放效果)
  4. VS2012+7600配置驱动环境
  5. Email 正则验证
  6. 如何正确解码用户的“玄学需求”?
  7. B端设计指南 —— 弹窗 究竟应该如何设计
  8. 行业思考 | 酷炫动效是否利于你的产品设计?
  9. 持续更新 | PMCAFF问答专场活动分享笔记大合集
  10. 产品经理面试中如何攻克有关用户体验的问题?