假设一个旋转鼓的表面被等分为16个部分,如图所示,其中每一部分分别由导体或绝缘体构成,图中阴影部分表示导体,空白部分表示绝缘体,导体部分给出信号1,绝缘体部分给出信号0。根据鼓轮转动时所处的位置,
四个触头A、B、C、D将获得一定的信息。因此,鼓轮的位置可用二进制信号表示。试问如何选取鼓轮16个部分的材料才能使鼓轮每转过一个部分得到一个不同的二进制信号,即每转一周,能得到0000到1111的16个数。
1 // 2 // main.cpp 3 // 4 // Created by Soildom on 2017/11/19. 5 // Copyright © 2017年 Soildom. All rights reserved. 6 // 7 8 #include <iostream> 9 #include <cmath> 10 #include <stack> 11 #include <deque> 12 #include <vector> 13 using namespace std; 14 15 const int MAXN=10000; 16 int sub_len,node_num; 17 bool edge[MAXN][MAXN]; 18 19 class node 20 { 21 public: 22 int data[MAXN]={ 0},vis=0; 23 vector<int> start,end; 24