题目链接:https://odzkskevi.qnssl.com/fa6682426fb11e87a5ab9246f22a461d?v=1538674155

题意:

给你一个长度为1000的字符串s和一个最大为1000的数n,s中有至少一位的数是用?表示的,你要将这个字符串还原成一个可以整除n的数,问这个数最小是多少。如果找不到这样一个数那么输出*。

做法:

数位dp,因为比赛没打所以也没当时想,其实是想不到的。。dp[i][j]表示是到第i位的时候,余数为j的情况是否存在,这个可以用记忆化搜索来保存,这样的话最大的搜索次数是1000*1000.据机房的大神说很简单。。感觉一点也不。。


#include <bits/stdc++.h>
using namespace std;
int dp[1005][1005],k,l;
char s[1005],ans[1005];
int dfs(int now,int yu){if(now==l+1){return yu==0;}if(dp[now][yu]!=-1) return dp[now][yu];int tmp=0;if(s[now]!='?'){ans[now]=s[now];tmp=dfs(now+1,(yu*10+s[now]-'0')%k);}else {int down=(now==1?1:0),tmp;for(int i=down;i<=9;i++){ans[now]=i+'0';tmp=dfs(now+1,(yu*10+i)%k);if(tmp) return dp[now][yu]=tmp;}}return  dp[now][yu]=tmp;
}
int main(){scanf("%s%d",s+1,&k);l=strlen(s+1);memset(dp,-1,sizeof(dp));if(dfs(1,0)) ans[l+1]='\0',printf("%s\n",ans+1);else printf("*\n");return 0;
}

E - Enigma Gym - 101889E dp求可除一个整数的最小数相关推荐

  1. 求大于等于(小于等于)一个整数最小2次幂算法

    给一个整数,如何求得大于等于该整数的最小2次幂呢? 最近看ConcurrentHashMap的源码中有这么一段代码,这段代码就是解决这个问题的最好答案.现在我给大家来讲解一下这段代码的意思吧. /** ...

  2. 旅游(树形dp求树的最大独立集)

    链接:https://ac.nowcoder.com/acm/problem/15748 来源:牛客网 题目描述 Cwbc和XHRlyb生活在s市,这天他们打算一起出去旅游. 旅行地图上有n个城市,它 ...

  3. 树上子链(树形dp求树的直径)

    树上子链 题意: 给定一棵树 T ,树 T 上每个点都有一个权值. 定义一颗树的子链的大小为:这个子链上所有结点的权值和 . 请在树 T 中找出一条最大的子链并输出. 题解: 求树的直径,题目中存在负 ...

  4. Check the difficulty of problems (概率dp求概率)

    Check the difficulty of problems POJ - 2151 大致题意: m个问题,t个队伍,要求冠军队伍至少解决n个问题,给出每个队伍解决每个问题的概率 求每一个队至少解决 ...

  5. NCD 2019题解C. Hasan and his lazy students【dp求lis,顺序维护方案数】

    题目链接 题意,给序列,求最长上升子序列长度和方案数. n<=1000,因为n小于1e3,所以可以使用复杂度为n2的dp做法,然后使用一个结构体来维护方案数就行了: 先定义一个结构体,包含dp求 ...

  6. 滑稽树下你和我Average distance(树形dp求任意两点距离之和)

    滑稽树下你和我. 链接:https://ac.nowcoder.com/acm/contest/992/J 来源:牛客网 题目描述 红红和蓝蓝是随机降生在苹果树上的苹果仙灵,现在红线仙想估测他们的CP ...

  7. 判断一个整数是否是水仙花数 || 编写程序,根据输入的月份和年份,求出该月的天数(1-12)|| 运算符的优先级问题 ||输出小写的a-z以及大写的Z—A||求出1-1/2+1/3-1/4…..1/

    判断一个整数是否是水仙花数,所谓水仙花数是指一个3位数,         其各个位上数字立方和等于其本身.例如: 153 = 1*1*1 + 5*5*5 + 3*3*3                 ...

  8. 编程笔试(解析及代码实现):求出一个整数中各位数上所包含全部质数之和

    编程笔试(解析及代码实现):求出一个整数中各位数上所包含全部质数之和 目录 题目描述 代码实现 题目描述 求出一个整数中各位数上所包含全部质数之和 一家电子商务公司计划在圣诞节给客户提供特别折扣,他们 ...

  9. 算法--微软面试题:求一个整数数组元素间最小差值

    Q题目 有一个整数数组,请求出两两之差绝对值最小的值,记住,只要得出最小值即可,不需要求出是哪两个数. A解法 方案一:最愚笨的办法--暴力穷举 利用数组中所有数据两两相减的对比来求出这个最小差值. ...

  10. C++求一个整数的各位数字总和(附完整源码)

    C++求一个整数的各位数字总和算法 C++求一个整数的各位数字总和算法完整源码(定义,实现,main函数测试) C++求一个整数的各位数字总和算法完整源码(定义,实现,main函数测试) int su ...

最新文章

  1. 【LeetCode】0136. 只出现一次的数字
  2. python创建nc文件_如何python写nc文件
  3. python pil_python PIL 图像处理
  4. 入门机器学习(一)--单变量线性回归
  5. 8.13 Prototypical Networks 原型网络
  6. WordPress: 使用 wp_insert_attachment 上传附件
  7. 最后1天!阿里云双11拼团入官方热荐团直享最低折扣!还有机会瓜分百万现金!...
  8. Pycharm: 设置默认字符编码为 utf-8模版
  9. python盖帽法_干货:用Python进行数据清洗,这7种方法你一定要掌握
  10. 大数据思维的十大核心原理
  11. Flash Cs4安装之后打不开(启动界面一闪而过)
  12. 51单片机:8051指令简介
  13. 74HC595原理图”中“ RCLK SRCLK SRCLR”是什么意思
  14. 树莓派4B连接PCF8591模块
  15. 不能有比这个再靠谱的星座分析了
  16. 2019年科协宣传部第一次培训
  17. 关于find命令-perm 的用法
  18. 【王者荣耀】全英雄无水印皮肤下载器
  19. vue移动端适配解决方案
  20. 七夕,那个不一样的人

热门文章

  1. c盘扩容提示簇被标记_如何解决C盘爆满
  2. HTML 音乐播放器界面
  3. CancelledError: [_Derived_]RecvAsync is cancelled.
  4. Statement cancelled due to timeout or client request报错
  5. 内核代码之SIP ALG分析
  6. 管家婆辉煌7.2 7.1 年结存导致单据明细丢失 提示:这段时间无过帐单据。
  7. 计算机键盘上每一个键的作用,电脑键盘上各种键的作用是什么 电脑键盘上每个键的作用说明【图文】...
  8. KEIL MDK平台 S3C2440 C语言软件仿真
  9. nginx + tomcat 504 解决方案
  10. 智能卡卡发卡流程(收藏4)