有一个矩阵(10*10),元素值只能为0或1,现在写一个函数判断一下有没有一行都为1,且有一列都为0(除了该行的这个元素为1外);
我当时写了个算法:但效率不高,需要优化,请大虾帮忙优化一下
bool F(int [10][10]input)
{
for(int i=0;i<10;i++)
{
int j;
for(j=0;j<10;j++)
if(input[i][j]==0) break;
if(j==10)
{
for(int m=0;m<10;m++)
{
for(int n=0;n<10;n++)
if(input[n][m]==1&&n!=i) break;
if(n==10)
return true;
}
}
}
return false;
}
目前,要求优化该算法,让程序只需要扫描该矩阵一遍,即可得出结果。 |