595.七段码

题目描述

本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。

小蓝要用七段码数码管来表示一种特殊的文字。

在这里插入图片描述

上图给出了七段码数码管的一个图示,数码管中一共有
7 段可以发光的二 极管,分别标记为 a,b,c,d,e,f,g。

小蓝要选择一部分二极管(至少要有一个)发光来表达字符。在设计字符 的表达时,要求所有发光的二极管是连成一片的。

例如:b 发光,其他二极管不发光可以用来表达一种字符。

例如 c 发光,其他二极管不发光可以用来表达一种字符。这种方案与上 一行的方案可以用来表示不同的字符,尽管看上去比较相似。

例如:a,b,c,d,e 发光,f,g 不发光可以用来表达一种字符。

例如:b,f 发光,其他二极管不发光则不能用来表达一种字符,因为发光 的二极管没有连成一片。

请问,小蓝可以用七段码数码管表达多少种不同的字符?

运行限制

最大运行时间:1s
最大运行内存: 128M

#include <iostream>
using namespace std;

int BackTrace(int graph[][7], int visit[], int n, int i) {
    
    
  int cnt = 1;
  for (int j = 0; j < n; ++j) {
    
    
    if (visit[j] == 0 && graph[i][j] == 1) {
    
    
      visit[j] = 1;
      cnt += BackTrace(graph, visit, n, j);
      visit[j] = 0;
    }
  }
  return cnt;
}
int main()
{
    
    
  // 请在此输入您的代码
  int graph[7][7] = {
    
    
    {
    
    1, 1, 0, 0, 0, 1, 0},
    {
    
    1, 1, 1, 0, 0, 0, 1},
    {
    
    0, 1, 1, 1, 0, 0, 1},
    {
    
    0, 0, 1, 1, 1, 0, 0},
    {
    
    0, 0, 0, 1, 1, 1, 1},
    {
    
    1, 0, 0, 0, 1, 1, 1},
    {
    
    0, 1, 1, 0, 1, 1, 1}
  };
  int visit[7] = {
    
    0};
  cout << BackTrace(graph, visit, 7, 0) / 2;
  return 0;
}

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_40713201/article/details/129385536