[CF1070A]Find a Number_bfs
2024-08-27 11:37:39
Find a Number
题目链接:http://codeforces.com/problemset/problem/1070/A
数据范围:略。
题解:
因为$d$和$s$比较小可以搜。
这就很$gay$了...我根本没想到可以宽搜。
想到搜索就非常简单了,从小到大枚举就好了。
代码:
#include <bits/stdc++.h> #define inf 0x3f3f3f3f #define D 510 #define S 5010 using namespace std; int d, s; bool vis[D][S]; queue <pair<int, int> >q; pair<pair<int, int>, int> p[D][S]; void bfs() {
vis[0][0] = true;
q.push(make_pair(0, 0));
while (!q.empty()) {
int x = q.front().first, y = q.front().second;
q.pop();
for (int i = 0; i < 10; i ++ ) {
int x_ = (x * 10 + i) % d, y_ = y + i;
if (y_ <= s && !vis[x_][y_]) {
vis[x_][y_] = true;
p[x_][y_] = make_pair(make_pair(x, y), i);
q.push(make_pair(x_, y_));
}
}
}
} void output(int x, int y) {
if (!x && !y) {
return;
}
output(p[x][y].first.first, p[x][y].first.second);
putchar('0' + p[x][y].second);
} int main() {
cin >> d >> s ;
bfs();
if (!vis[0][s]) {
puts("-1");
}
else {
output(0, s);
}
return 0;
}
最新文章
- springMVC学习笔记(二)-----注解和非注解入门小程序
- Caffe 抽取CNN网络特征 Python
- javascript 浮点运算
- c# equals和==的区别
- 【转】 bash简介及通配符、扩展通配符 shopt -s extglob
- jcarousellite 实现图片列表滚动
- visual c++ 2010安装未成功
- OCP读书笔记(12) - 执行闪回数据库
- 自己写的一个jQuery轮播插件
- 关于IP在MySQL中的存储
- CJOJ 1331 【HNOI2011】数学作业 / Luogu 3216 【HNOI2011】数学作业 / HYSBZ 2326 数学作业(递推,矩阵)
- Hbase出现ERROR: Can&#39;t get master address from ZooKeeper; znode data == null正确找到解决思路
- 为什么从前那些.NET开发者都不写单元测试呢?
- sql面试总结
- 适用于Centos6.x系统的15项优化脚本
- Service生命周期
- 5、Angular的一些其他核心特性,学习的主要模块
- 聊聊Python中的is和==
- 使用node.js的开发框架express创建一个web应用
- c++ 对象复制引用时何时调用构造函数、析构函数