![]() |
#2
非死亡!2011-11-09 18:47
|
解锁原理:随便从一个开始,连接下一个,再连
下一个,再下一个.就可以了(不能有重复的)
用邻接矩阵方法构造:
edge[9][9]={{0,1,0,1,1,1,0,1,0},
{1,0,1,1,1,1,1,0,1},
{0,1,0,1,1,1,0,1,0},
{1,1,1,0,1,0,1,1,1},
{1,1,1,1,0,1,1,1,1},
{1,1,1,0,1,0,1,1,1},
{0,1,0,1,1,1,0,1,0},
{1,0,1,1,1,1,1,0,1},
{0,1,0,1,1,1,0,1,0}};
比如我们把图标号.如从0开始就可以
0 7 8 3
但不能
0 8,
关于这个锁的有多少种.算出来是152
代码如下:

#include
using namespace std;
void main(){
int i,j,k,l,z,count;
//char vex[9];//顶点表
int edge[9][9]={{0,1,0,1,1,1,0,1,0},{1,0,1,1,1,1,1,0,1},{0,1,0,1,1,1,0,1,0},{1,1,1,0,1,0,1,1,1},{1,1,1,1,0,1,1,1,1},{1,1,1,0,1,0,1,1,1},{0,1,0,1,1,1,0,1,0},{1,0,1,1,1,1,1,0,1},{0,1,0,1,1,1,0,1,0}};//邻接矩阵,即边表
int vnum=9;
count=0;
int visited[9];//定义~~~^^^^^^^^^^^^^^^^^^^
for(i=0;i
}
using namespace std;
void main(){
int i,j,k,l,z,count;
//char vex[9];//顶点表
int edge[9][9]={{0,1,0,1,1,1,0,1,0},{1,0,1,1,1,1,1,0,1},{0,1,0,1,1,1,0,1,0},{1,1,1,0,1,0,1,1,1},{1,1,1,1,0,1,1,1,1},{1,1,1,0,1,0,1,1,1},{0,1,0,1,1,1,0,1,0},{1,0,1,1,1,1,1,0,1},{0,1,0,1,1,1,0,1,0}};//邻接矩阵,即边表
int vnum=9;
count=0;
int visited[9];//定义~~~^^^^^^^^^^^^^^^^^^^
for(i=0;i
}