令状态$f(i, j)$表示模$d$为$i$,和为$j$时的最小数

可以通过$bfs$来转移

然而就没了...

复杂度$O(10ds)$

#include <queue>
#include <vector>
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
namespace remoon {
#define ri register int
#define ll long long
#define pii pair<int, int>
#define mp make_pair
#define pb push_back
#define fi first
#define se second
#define tpr template <typename ra>
#define rep(iu, st, ed) for(ri iu = st; iu <= ed; iu ++)
#define drep(iu, ed, st) for(ri iu = ed; iu >= st; iu --)
#define gc getchar
inline int read() {
int p = , w = ; char c = gc();
while(c > '' || c < '') { if(c == '-') w = -; c = gc(); }
while(c >= '' && c <= '') p = p * + c - '', c = gc();
return p * w;
}
}
using namespace std;
using namespace remoon;
#define sid 525
#define pid 5205 int d, s;
struct node {
int d, s, di;
node() {}
node(int a, int b, int c) : d(a), s(b), di(c) {}
};
queue <pii> q; bool vis[sid][pid];
node pre[sid][pid]; void bfs() {
vis[][] = ;
q.push(mp(, ));
while(!q.empty()) {
pii p = q.front(); q.pop();
rep(i, , ) {
int nd = (p.fi * + i) % d;
int ns = p.se + i;
if(ns > s) break;
if(!vis[nd][ns]) {
vis[nd][ns] = ;
q.push(mp(nd, ns));
pre[nd][ns] = node(p.fi, p.se, i + '');
}
}
}
} inline void dfs(int nd, int ns) {
if(pre[nd][ns].di != )
dfs(pre[nd][ns].d, pre[nd][ns].s);
if(pre[nd][ns].di != )
printf("%c", pre[nd][ns].di);
} int main() {
d = read(); s = read();
bfs();
if(!vis[][s]) puts("-1");
else dfs(, s);
return ;
}

最新文章

  1. ASP.NET MVC5+EF6+EasyUI 后台管理系统(33)-MVC 表单验证
  2. python logging模块
  3. ubuntu网络配置&amp;&amp;ubuntu apt-get错误解决办法
  4. [New Portal]Windows Azure Virtual Machine (14) 在本地制作数据文件VHD并上传至Azure(1)
  5. js相对路径相关(比如:js中的路径依赖导入该js文件的路径)
  6. java socket 发送文件
  7. Ajax清除浏览器js、css、图片缓存的方法
  8. 图解TCP/IP读书笔记(二)
  9. 单元测试之道(使用NUnit)
  10. cocos2d-x实战 C++卷 学习笔记--第5章 精灵
  11. Android Integer.decode()和Intger.valueof()
  12. android中如何实现离线缓存
  13. css直接写出小三角
  14. 前端的UI设计与交互之反馈示篇
  15. django-auth组件
  16. [Swift]LeetCode1017. 负二进制转换 | Convert to Base -2
  17. 运维工作笔记-------nginx的反向代理
  18. Vue 获取登录用户名
  19. AJAX请求返回HTTP 400 错误 - 请求无效 (Bad request)
  20. 如何设置Navicat的显示字体与字体大小?

热门文章

  1. 钉钉头像大小设置 阿里cdn尺寸截取参数设置
  2. 免費域名申請.me .im .in .co .la .do .ms .kz .tk .ru .mu .pn .tt
  3. torch.Tensor.view (Python method, in torch.Tensor)
  4. Remove K Digits
  5. CentOS时区GMT修改为CST
  6. select into的缺点
  7. 最简单删除SQL Server中所有数据的方法(不用考虑表之间的约束条件,即主表与子表的关系)
  8. C#基础之数据类型
  9. OneNote无法同时设置中英文字体设置解决办法
  10. day7 面向对象进阶