当前位置: 首页 > news >正文

蓝桥杯17114 残缺的数字

问题描述

七段码显示器是一种常见的显示数字的电子元件,它由七个发光管组成:

图片描述

图依次展示了数字 0∼9 用七段码来显示的状态,其中灯管为黄色表示点亮,灰色表示熄灭。根据灯管的亮暗状态,我们可以用一个状态码(状态码是一个 7 位的二进制数字)来表示一个七段码,令灯管点亮时状态为 1,灯管熄灭时状态为 0,按照灯管 ABCDEFG 的顺序标识一个七段码,则数字 0∼9 的状态码为:

数字状态码数字状态码
0111111051011011
1011000061011111
2110110171110000
3111100181111111
4011001191111011

小蓝有一个喜爱的数字,长度为 18 位,每一位用一个七段码显示器来展示 (每位只能是 0∼9,可以包含前导零),由于灯管故障,一些本该点亮的灯管处于了熄灭状态。例如,对于一个长度为 2 的数字来说,当两个七段码对应的状态码分别为: 1011111(高位)、1110011(低位)时,原本的数字可能会是: 68、69、88、89,有 4 种可能的值。

18 个七段码显示器对应的状态码分别为:

0000011
1001011
0000001
0100001
0101011
0110110
1111111
0010110
0101001
0010110
1011100
0100110
1010000
0010011
0001111
0101101
0110101
1101010

其中每行表示一个七段码对应的的状态码(按照数字的高位到低位给出)。请你判断下小蓝喜爱的数字有多少种可能的值。

判断每个残缺的状态码能对应的数字个数,相乘

判断一个残缺的状态码对应的数字个数:

如果状态码的某一位是1,但数字的标准状态码是 0,则说明状态码不可能是这个数字

#include<iostream>
#include<string>
using namespace std;//数字 0~9 的状态码 
char c[10][8]={"1111110","0110000","1101101","1111001","0110011","1011011","1011111","1110000","1111111","1111011"};
int ans = 1;int check(string s)
{int cnt = 0;  //记录可能对应的数字个数bool flag = 1;for(int i=0; i<=9; ++i)  //遍历数字0到9{flag = 1;  //假设当前状态码能匹配到一个数字 for(int j=0; j<=6; ++j)  //遍历七段码的每一位{if(s[j]=='1' && c[i][j]=='0'){//如果状态码 s的第 j位是 '1',但数字 i的标准状态码 l[i][j] 是 '0'//则说明状态码 s 不可能是数字 iflag = 0;break;}}if(flag) cnt++;}return cnt;
}int main()
{string s;for(int i=1; i<=18; ++i){cin>>s;		ans *= check(s);}cout<<ans;return 0;
}
http://www.lqws.cn/news/125533.html

相关文章:

  • NPOI操作EXCEL文件 ——CAD C# 二次开发
  • 【Linux】Linux 环境变量
  • [3-02-01].第13节:三方整合 - Jedis客户端操作Redis
  • 【游戏科学】游戏开发中数学算法的核心与应用
  • 四款主流物联网操作系统(FreeRTOS、LiteOS、RT-Thread、AliOS)的综合对比分析
  • 依赖注入的注解
  • IDEA中微服务指定端口启动
  • 每日Prompt:每天上班的状态
  • 【android bluetooth 协议分析 12】【A2DP详解 2】【开启ble扫描-蓝牙音乐卡顿分析】
  • 在 Android 框架中,接口的可见性规则
  • 解决Java项目NoProviderFoundException报错
  • 代码随想录 算法训练 Day22:回溯算法part01
  • 07 APP 自动化- appium+pytest+allure框架封装
  • java31
  • Vue.js教学第十九章:Vue 工具与调试,Vue DevTools 的使用与 VS Code 插件辅助开发
  • 匀速旋转动画的终极对决:requestAnimationFrame vs CSS Animation
  • AI在网络安全领域的应用现状和实践
  • unix/linux,sudo,其发展历程详细时间线、由来、历史背景
  • 《PyTorch:开启深度学习新世界的魔法之门》
  • 使用 React Native 开发鸿蒙(HarmonyOS)运动健康类应用的系统化准备工作
  • DrissionPage调试工具:网页自动化与数据采集的革新利器
  • AI自动化任务执行工具OpenManus一键启动整合包
  • unix/linux,sudo,其历史争议、兼容性、生态、未来展望
  • @Prometheus 监控-MySQL (Mysqld Exporter)
  • 第四十二天打卡
  • 深度学习之路——CNN卷积神经网络详解
  • Asp.net Core 通过依赖注入的方式获取用户
  • Facebook接入说明
  • CentOS 7 修改为静态 IP 地址完整指南
  • sql入门语句-案例