博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hdu4474 bfs求k的最小的倍数(巧妙)
阅读量:6620 次
发布时间:2019-06-25

本文共 1305 字,大约阅读时间需要 4 分钟。

1 #include
2 #include
3 #include
4 #include
5 using namespace std; 6 int pre[10010],num[10010],a[10005],n; 7 void print(int x) 8 { 9 if (pre[x]!=-1) print(pre[x]);10 printf("%d",num[x]);11 }12 void bfs(int x)13 {14 queue
q;15 while (!q.empty()) q.pop();16 for (int i=1;i<=9;i++)17 {18 if (i%n==0&&a[i]==0) {printf("%d",i); return; }19 if (a[i]==0) {num[i]=i; q.push(i); }20 }21 while (!q.empty())22 {23 int x=q.front(); q.pop();24 for (int i=0;i<=9;i++)25 if (!a[i])26 {27 int y=(x*10+i)%n;28 if (num[y]==-1) {q.push(y); pre[y]=x; num[y]=i; }29 if (y==0) {print(y); return; }30 }31 }32 printf("-1");33 }34 int main()35 {36 int cnt=0,m,i,x;37 while (~scanf("%d%d",&n,&m))38 {39 memset(a,0,sizeof(a));40 memset(num,-1,sizeof(num));41 memset(pre,-1,sizeof(pre));42 for (i=1;i<=m;i++)43 {44 scanf("%d",&x);45 a[x]=1;46 }47 printf("Case %d: ",++cnt);48 bfs(n);49 printf("\n");50 }51 }

转载于:https://www.cnblogs.com/xiao-xin/articles/3963566.html

你可能感兴趣的文章
【Solidity】2.合约的结构体 - 深入理解Solidity
查看>>
Java开发人员需要注意的五大Docker误区
查看>>
DockOne微信分享(一零九):中小型团队的容器化之路
查看>>
C语言算法---求鞍点
查看>>
软件服务化:管理当先
查看>>
动互联网:开源软件的又一个春天
查看>>
HPE终于鲤鱼翻身 拆分企业服务业务
查看>>
《程序化广告实战》一 1.1 常见的广告形式及业态
查看>>
同学们,告诉你们信息中心,如何保持看直播不卡的姿势!
查看>>
Rackspace公司收购Datapipe 且一并吸纳29座数据中心
查看>>
OpenStack之化云为雨
查看>>
IBM放弃SoftLayer品牌 将其归入Bluemix之中
查看>>
App研发与运营利器:友盟与听云全功能对比
查看>>
外媒:开源安全软件到底安不安全?
查看>>
达索系统与中国的那些创新
查看>>
ARM与服务器厂商建绿色计算产业联盟
查看>>
《Drupal实战》——2.6 小结
查看>>
《C语言及程序设计》实践参考——二分法解方程
查看>>
java thread中的wait()和notify()
查看>>
2016最新搜索引擎优化(SEO)重点要素
查看>>