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

蓝桥杯 残缺的数字

原题目链接

问题描述

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

在这里插入图片描述

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

则数字 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

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


答案提交

这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分

c++代码

#include<bits/stdc++.h>

using namespace std;

int ans = 0, result = 1;
string str, mid;
unordered_set<string> st;

void dfs(int index) {
    if (index == str.size()) {
        if (st.find(mid) != st.end()) ans++;
        return;
    }
    if (str[index] == '1') {
        mid += "1";
        dfs(index + 1);
        mid.erase(mid.size() - 1);
    }
    else {
        mid += "1";
        dfs(index + 1);
        mid.erase(mid.size() - 1);
        mid += "0";
        dfs(index + 1);
        mid.erase(mid.size() - 1);
    }
}

int main() {
    /*
    for (int i = 0; i < 10; i++) {
        cin >> str;
        st.insert(str);
    }
    for (int i = 0; i < 18; i++) {
        cin >> str;
        ans = 0;
        dfs(0);
        result *= ans;
    }
    cout << result;
    */
    cout << "254016000";
    return 0;
}
//数据输入
/*
1111110
0110000
1101101
1111001
0110011
1011011
1011111
1110000
1111111
1111011
0000011
1001011
0000001
0100001
0101011
0110110
1111111
0010110
0101001
0010110
1011100
0100110
1010000
0010011
0001111
0101101
0110101
1101010
*/

题目解析

当数字为1的时候,原来的数字就为1,当数字为0的时候,原来的数字可能为1也可能为0.


http://www.kler.cn/a/611126.html

相关文章:

  • Linux <(...) 进程替换
  • Photoshop 2025安装包下载及Photoshop 2025详细图文安装教程
  • 2025Java面试TOP1000问:源码级解答+避坑指南+性能优化
  • 在线文档导出为word/pdf/png
  • springBoot中雪花算术法
  • (番外篇一)学习webgl是先从现有的框架还是直接从底层开始学?
  • 特斯拉Optimus 2.0:多模态感知与强化学习引领家庭场景变革
  • 解决Vmware 运行虚拟机Ubuntu22.04卡顿、终端打字延迟问题
  • Python个人学习笔记(19):模块(正则表达式)
  • 车载以太网网络测试 -24【SOME/IP概述】
  • 深度学习框架PyTorch——从入门到精通(10)PyTorch张量简介
  • react 15-16-17-18各版本的核心区别、底层原理及演进逻辑的深度解析
  • 【学Rust写CAD】11 2D CAD可用rust库
  • 详细介绍sentinel的使用,并列举经常出的面试题以及答案
  • xml文件
  • PAT甲级(Advanced Level) Practice 1028 List Sorting
  • 在 Ubuntu 下通过 Docker 部署 Misskey 服务器的详细技术博客
  • Sentinel 限流利器(功能以及源码解析)
  • Java通信
  • 虚幻引擎设置复杂碰撞体