题意:
用n根火柴棒搭出数字,求这个数能被m整除的最大值
思路:递推的式子是newi=i+num[k][根数], newj=(j*10+k)%m[余数]
dp[newi][newj] = max(dp[i][j]+1, dp[newi][newj]);
那么ans是只针对余数为0的情况
出发点是dp[0][0],结尾点是dp[i][0],之间必定是会得出一条等差数列(d=1)铺成的路
所以就有dp[newi][newj]==d[i][j]+1, path[i][j] = k;
<pre name="code" class="cpp">#include<cstdio>
#include<algorithm>
#include<cstring>
#include<iostream>
using namespace std;
const int maxn = 110;
const int maxm = 3010;
int dp[maxn][maxm], path[maxn][maxm];
int m, n;
int ans;
int num[10] = {6,2,5,5,4,5,6,3,7,6};
void deal() {for(int i=0; i<n; i++)for(int j=0; j<m; j++) {if(dp[i][j]>=0) //已经得出for(int k=9; k>=0; k--) {if(num[k]+i<=n){int newi = i+num[k];int newj = (j*10+k)%m;if(dp[i][j]+1>dp[newi][newj]) dp[newi][newj] = dp[i][j]+1;if(dp[newi][newj]>ans && newj==0) ans = dp[newi][newj];
}}}
}void find() {memset(path, -1, sizeof(path));for(int i=n; i>=0; i--)for(int j=0; j<m; j++)if(dp[i][j]>=0) {if(dp[i][j]==ans && j==0) {path[i][j] = 10;continue;}for(int k=9; k>=0; k--) if(i+num[k]<=n) {int newi = i+num[k], newj = (j*10+k)%m;if(dp[newi][newj]==(dp[i][j]+1) && path[newi][newj]>=0) {path[i][j] = k;break;}}}
}
void print() {int i, j, k, l;if(ans>0) {i = 0, j = 0;while(path[i][j] != 10) {k = i+num[path[i][j]];l = (j*10+path[i][j])%m;printf("%d", path[i][j]);i = k;j = l;}printf("\n");}else if(n>=num[0]) printf("0\n");else printf("-1\n");
}int main() {int kase = 1;while(scanf("%d", &n) != EOF && n) {scanf("%d", &m);printf("Case %d: ", kase++);memset(dp, -1, sizeof(dp));dp[0][0] = 0, ans = 0;deal();find();print();}return 0;
}

Bigger is Better相关推荐

  1. 数据导入报错:Got a packet bigger than‘max_allowed_packet’bytes的问题

    2019独角兽企业重金招聘Python工程师标准>>> 数据导入报错:Got a packet bigger than'max_allowed_packet'bytes的问题 2个解 ...

  2. ERROR 1153 (08S01): Got a packet bigger than 'max_allowed_packet' bytes怎么处理

    今天ytkah进行了应急数据库恢复,用Navicat for Mysql导入sql文件出现ERROR 1153 (08S01): Got a packet bigger than 'max_allow ...

  3. AI:大力出奇迹?Bigger is better?AI下一代浪潮?—人工智能的大语言模型(LLMs)的简介、发展以及未来趋势

    AI:大力出奇迹?Bigger is better?AI下一代浪潮?-人工智能的大语言模型(LLMs)的简介.发展以及未来趋势 目录 人工智能的大语言模型(LLMs)-AI下一代浪潮?Bigger i ...

  4. Got a packet bigger than 'max_allowed_packet' bytes

    昨天用导入数据的时候发现有的地方有这个错误.后来才发现我用RPM包装的MYSQL配置文件里面有old_passwords=1去掉就可以了. Got a packet bigger than 'max_ ...

  5. MySql 错误 Err [Imp] 1153 - Got a packet bigger than 'max_allowed_packet' bytes

    今天在用Navicat导入SQL文件时报错:MySql 错误 Err [Imp] 1153 - Got a packet bigger than 'max_allowed_packet' bytes ...

  6. 【Python CheckiO 题解】Bigger Price

    CheckiO 是面向初学者和高级程序员的编码游戏,使用 Python 和 JavaScript 解决棘手的挑战和有趣的任务,从而提高你的编码技能,本博客主要记录自己用 Python 在闯关时的做题思 ...

  7. Got a packet bigger than 'max_allowed_packet' bytes(mysql)

    mysql 导入数据显示Got a packet bigger than 'max_allowed_packet' bytes 错误 show VARIABLES like '%max_allowed ...

  8. 数据库执行sql报错Got a packet bigger than 'max_allowed_packet' bytes及重启mysql

    准备在mysql上使用数据库A,但mysql5经过重装后,上面的数据库已丢失,只得通过之前备份的A.sql重新生成数据库A. 1.执行sql报错 在执行A.sql的过程中,出现如下错误:Got a p ...

  9. E06 【买衣服】Maybe you need a bigger size

    核心句型 Maybe you need a bigger size 也许您需要大一些的. 场景对话 A:Can I try this jacket on,please? 我能试试这件夹克吗? B:Su ...

  10. DEEP DOUBLE DESCENT: WHERE BIGGER MODELS AND MORE DATA HURT

    文章目录 概 主要内容 Effective Model Complexity(EMC) label noise data augmentation 下降方式 SGD vs Adam Adam SGD ...

最新文章

  1. 【CSDN】图片居中与调整大小
  2. hdfs合并块_hdfs 小文件合并 问题
  3. RocketMQ快速入门之消息过滤器(用户自定义属性)
  4. Django框架-Form组件
  5. java启动servlet_Java Servlet 运行原理分析
  6. 相机下载_佳能相机如何连接手机传输相片,视频?
  7. php fetch mode,odbc_fetch_into
  8. Oracle数据库个人整理常用的表空间、用户、授权操作
  9. 如何做实时监控?—— 参考 Spring Boot 实现
  10. iis设置首页为main.html,遇到X-Frame-Options头未设置"怎么解决
  11. android获取inflater
  12. 【Unity Shader】(九) ------ 高级纹理之渲染纹理及镜子与玻璃效果的实现
  13. 计算机总是蓝屏怎么解决办法,电脑经常蓝屏怎么办?教你解决几种常见的蓝屏问题...
  14. 关于H5的标签整理合集(一)
  15. 台式计算机怎么截屏,台式电脑怎么截屏
  16. 电脑网络里面的以太网不见了,开启后立即自动关闭,如何解决?
  17. 极客日报:华为拿百亿资金给员工分红,每股1.58元;苹果将推出M2芯片入门级MacBook Pro;Flutter 2.10发布
  18. golang中如何比较struct,slice,map是否相等以及几种对比方法的区别
  19. win10安装steam有损计算机,win10系统steam磁盘写入错误怎么办 steam磁盘写入错误的解决教程...
  20. 华为和华三(H3C),你总要选一个才行

热门文章

  1. Windows10 如何自动在开机时进行拨号连接?
  2. 西北师范大学97级计算机应用,西北师范大学计算机应用技术简介
  3. Linux内核win_minmax代码解读
  4. 继电器原理 multisim连线
  5. java awt_Java AWT简介
  6. 【docker】docker容器编写centos系统下搭建golang和python环境
  7. Apollo github - 百度阿波罗
  8. 结构设计模式:立面模式
  9. Socket.Connected 不能作为TCP连接的判断依据
  10. uniapp中的nvue和vue之间的区别---uniapp原生开发008