问题 M: 数码管
2017-08-06 23:18
162 查看
题目描述
液晶数码管用七笔阿拉数字表示的十个数字,把横和竖的一 个短划都称为一笔,即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
题解:打表(离散数学的邻接矩阵)
AC代码:
液晶数码管用七笔阿拉数字表示的十个数字,把横和竖的一 个短划都称为一笔,即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
题解:打表(离散数学的邻接矩阵)
AC代码:
#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}, 4000 {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; }
相关文章推荐
- 数码管数字漂移问题
- 数码管问题(c++实现)
- FPGA+Verilog中计时器+数码管设计问题中的除法器和求余器使用问题
- 算法基础——1.6练习(数字数码管、隐藏密码问题)
- 【蓝桥杯单片机组】| DS1302(官方驱动)+ 矩阵按键 + 数码管(改,解决数码管跳动的问题)
- 数码管和573锁存器的细节问题
- 单片机数码管0000-9999显示问题
- 单片机数码管消隐问题
- 数码管消影问题总结
- 四位数码管SH5461AS的问题,arduino学习实测.
- protues仿真之数码管消影问题
- 【数码管识别】4识别成5或7的问题
- 关于6位数码管动态扫描显示程序的一些问题
- 数码管重影问题
- 主板加数码管之后5V0纹波异常问题解决思路
- 浅谈动态扫描数码管“消抖”、“消影”问题
- 【数码管识别】感兴趣区域提取和缩放的顺序问题
- 单片机数码管显示-消影问题
- 【数码管识别】需要注意的问题
- 关于数码管的消隐问题