奇幻矩阵(magic)—算法分析

 定义一个矩阵为奇幻矩阵(magic):
    1.矩阵存储的矩阵元素为:1,0;
    2.不是矩阵所有的元素都为:1
    3.两个相邻的元素不能是都为 0;
    4.如果两元素共有一条边(上下,左右),非对角线,则他们就是相连的;
 Question:How to  define  a matrix  whether is a magic matrix?

CODE:

Code:
 

#include #include /* author:jxusthusiwen date: 2010/10/3 定义一个矩阵为奇幻矩阵(magic): 1.矩阵存储的矩阵元素为:1,0; 2.不是矩阵所有的元素都为:1 3.两个相邻的元素不能是都为 0; 4.如果两元素共有一条边(上下,左右),非对角线,则他们就是相连的; Question:How to define a matrix whether is a magic matrix? */ using namespace std; int main(int argc,char *argv[]) { int p[10][10]; int n,m; int i,j,k; int flag =1;//1 表示:先假设数组元素全部为1 while(cin>>n>>m) { if(0==n && 0==m) break;//读入00 表示结束; flag=1;//先标记数组元素全为1; for(i=0;i>p[i][j]; if(p[i][j]==0) flag=0;//如果发现有元素为0的,则就置flag为0; } } // begin identify the matix // the first sample :数组元素全为1;不是magic数组 if(1==flag) { cout<<"NO"<

问题的关键在于怎样比较上下,左右相邻的数组元素是否相同。

你可能感兴趣的:(算法,matrix,iostream,存储,ini,date)