zoukankan      html  css  js  c++  java
  • C++——数码管

    题目描述
    液晶数码管用七笔阿拉数字表示的十个数字,把横和竖的一 个短划都称为一笔,即7有3笔,8有7笔等。对于十个数字一种排列,要做到两相邻数字都可以由另一个数字加上几笔或减去几笔组成,但不能又加又减。比如 7→3是允许的,7→2不允许。任意输入一组数,判断是否符合上述规则,注意,1在右边。
    输入
    每行输入一个0~9的排列,数字之间用空格分隔,以-1作为输入结束
    输出
    输出YES或NO
    样例输入
    4 1 0 7 3 9 5 6 8 2
    3 5 1 6 2 7 9 0 4 8
    -1
    样例输出
    YES
    NO

    题解:打表(离散数学的邻接矩阵),采用邻接矩阵可以方便直接的比对两个数字是否有对应关系。

    #include <iostream>
    #include<cstdio>
    using namespace std;

    //

    int a[10][10]={{1,1,0,0,0,0,0,1,1,0},
    {1,1,0,1,1,0,0,1,1,1},
    {0,0,1,0,0,0,0,0,1,0},
    {0,1,0,1,0,0,0,1,1,1},
    {0,1,0,0,1,0,0,0,1,1},
    {0,0,0,0,0,1,1,0,1,1},
    {0,0,0,0,0,1,1,0,1,0},
    {1,1,0,1,0,0,0,1,1,1},
    {1,1,1,1,1,1,1,1,1,1},
    {0,1,0,1,1,1,0,1,1,1}};

    int main()
    {
    int n[10];
    int x;
    while(1){
    scanf("%d",&x);
    int flag=0;
    if(x==-1)
    break;
    else
    n[0]=x;
    for(int i=1;i<10;i++){
    cin>>n[i];
    }
    for(int i=0;i<9;i++){
    if(a[n[i]][n[i+1]]==0){
    flag=1;
    }
    if(flag){
    cout<<"NO"<<endl;
    break;
    }
    }
    if(flag==0)
    cout<<"YES"<<endl;
    }
    return 0;
    }

  • 相关阅读:
    python开源项目
    Appscan 10用户安装手册
    20201201-k8s的node节点和独立nginx部署会冲突
    k8s-更换证书(apiserver新添加了VIP)
    20201224-修改pod网段(calico)
    深-宝的一梦
    洛谷-P3383 【模板】线性筛素数
    洛谷-P3913 车的攻击
    洛谷-P1866 编号
    洛谷-P1100 高低位交换
  • 原文地址:https://www.cnblogs.com/xufeng123/p/12660705.html
Copyright © 2011-2022 走看看