题目链接

题目大意

一个n个数码位的分数板,每一个数码位都是一个七段数码管,现在给出每个数码位的显示情况,问再点亮k段数码管的话能显示的最大的数是多少,如果不能构成一串数字,就输出-1。答案允许有前导0,但是有前导0的时候答案长度必须要跟n一致

题目思路

emm。。我完全没什么思路,但其实想想感觉是贪心一下就可以了,看到了rk1的神仙代码真是妙不可言,直接记忆化搜索,也可以dp,但感觉记忆化搜索更好

代码

#include<bits/stdc++.h>
using namespace std;
const int maxn=2e3+5,tab[]={119,18,93,91,58,107,111,82,127,123};
int n,k,a[maxn],ans[maxn];
bool vis[maxn][maxn];
char s[10];
void dfs(int pos,int cost){if(vis[pos][cost]||cost>k){//已经搜过,或者cost>kreturn ;}vis[pos][cost]=1;if(pos==n+1){if(cost==k){for(int i=1;i<=n;i++){printf("%d",ans[i]);}exit(0);//正常运行程序并退出程序}return ;}for(int i=9;i>=0;i--){ans[pos]=i;if((tab[i]&a[pos])==a[pos]){//表示tab[i]可以由a[pos]转移来dfs(pos+1,cost+__builtin_popcount(tab[i]^a[pos]));}}
}
int main(){scanf("%d %d",&n,&k);for(int i=1;i<=n;i++){scanf("%s",s+1);for(int j=1;j<=7;j++){a[i]=a[i]*2+s[j]-'0';}}dfs(1,0);printf("-1\n");return 0;
}

Codeforces Round #637 (Div. 2) - Thanks, Ivan Belonogov! D. Nastya and Scoreboard题解(记忆化搜索)相关推荐

  1. Codeforces Round #637 (Div. 2) - Thanks, Ivan Belonogov! B.Nastya and Door

    题目链接 On February 14, Denis decided to give a Valentine to Nastya and did not come up with anything b ...

  2. Codeforces Round #637 (Div. 2) - Thanks, Ivan Belonogov! C. Nastya and Strange Generator

    题目链接 Being upset after this behavior of Nastya, Denis was very sad. Nothing could make the rejected ...

  3. Codeforces Round #614 (Div. 2) E. Xenon's Attack on the Gangs(DP记忆化搜索+思维)

    题目链接:https://codeforces.com/contest/1293/problem/E 题目大意:   给出一棵树,要求给树的每条边赋权值,使得树中所有点的 m e x ( x , y ...

  4. 欠债还钱、Codeforces Round #637 (Div. 2) -D(多重背包)

    Description llk经常和wy一起去yh小饭馆吃盖浇饭,一天他们吃完后llk把两个人的钱一起付了,但是wy不想欠llk的钱.现在wy手中有一些散钱,llk手中也有一些散钱,wy想知道能不能刚 ...

  5. Codeforces Round #594 (Div. 2) C. Ivan the Fool and the Probability Theory 思维 + dp

    文章目录 题意: 思路 题意: 思路 一开始找规律,表都打好了,没找出来.. 找规律还是适合让队友来. 先考虑第一行,我们先计算第一行的方案数,设f[i][j]f[i][j]f[i][j]表示到了ii ...

  6. 【Codeforces Round #532 (Div. 2) F. Ivan and Burgers】离线+线性基

    F. Ivan and Burgers 题意 n个数,q次询问,每次询问一个区间内选出任意个数的异或最大值. 1<=n<=5∗1051<=n<=5*10^51<=n< ...

  7. Codeforces Round #532 (Div. 2) F. Ivan and Burgers(可持久化异或线性基+双指针)

    题意 给n个数,q组询问,每次询问l到r的最大异或和 思路来源 某cf奆神代码 题解 本来应该是线性基上分治的 这里一发基数+贪心也能过 真是神仙代码啊 双指针的经典应用: 对于每个询问[l,r],r ...

  8. Codeforces Round #637 (Div. 2) C. Nastya and Strange Generator 题解(阅读理解+简单思维)

    题目链接 题目大意 真难读 问给定的序列能不能用题中所给的算法生成. 比如,题目中举的例子:原序列a: [ 2 3 * * 1 ],先得出 r 数组 [ 3, 3 ,3 ,4 , * ] .r 数组的 ...

  9. Codeforces Round #506 (Div. 3)

    Codeforces Round #506 (Div. 3) 实习期间事不多,对div3 面向题解和数据编程了一波 A. Many Equal Substrings 题目链接 A题就是找后缀和前缀重合 ...

最新文章

  1. 数据挖掘终篇!一文学习模型融合!从加权融合到stacking, boosting
  2. 飞书与德勤管理咨询达成战略合作,赋能企业实现智慧运营与管理
  3. AS3中,setTimeOut、setInterval、Timer区别
  4. 力扣- -241.为运算表达式设计优先级
  5. java:Eclipse:Juno:设置workspace路径
  6. 使用阿里云智能翻译接口案例——CSDN博客
  7. 使用Spring Security添加RememberMe身份验证
  8. ZOJ 1904 海狸咬木
  9. Android中JNI编程出现“Invalid arguments ' Candidates are: void * malloc(?) '”的解决方案
  10. Android学习之Android 5.0分享动画实现微信点击全屏效果
  11. 破解TexturePacker加密资源
  12. asp.net922-基于Web的房屋中介管理信息系统
  13. 针式 PKM 个人知识管理软件 帮助
  14. SPRING IN ACTION 第4版笔记-第十章Hitting the database with spring and jdbc-002-本章的源代码...
  15. 无限乱斗连接服务器失败,LOL新版无限乱斗模式服务器挤爆怎么办 客户端哪些功能被限制...
  16. CSS篇之5. 样式的层级关系,选择器优先级,样式冲突,以及抽离样式模块怎么写,说出思路,有无实践经验
  17. 图卷积(1)——从欧式空间到非欧式空间
  18. 数加平台在数据挖掘项目中的实践 1
  19. Java 使用Docx4j实现word文档Docx格式转Doc格式
  20. 阿里云架构和openstack架构简析

热门文章

  1. 02 数据库语言SQL
  2. java取素数(质数)
  3. POI-5.2.2 操作 word 【表格】
  4. 【计算机毕业设计】jsp+java ssm社会保险养老系统
  5. MyEclipse调试时,变量一栏中:红色、黄色图标开头的变量分别代表的含义
  6. c++imread 函数_关于图像读取函数imread()的一点使用经验,注意默认参数的赋值
  7. JSON里的大括号{}和中括号[]。(关于JSON的结构)
  8. 一条龙搭建短视频去水印小程序,支持图集解析
  9. java接口是干啥_浅谈Java接口
  10. HTML中:after和:before的作用及其用法