private bool searchCombination() { Node <Zero> current = circularList.head; int countOfSucces = 0; do { CircularLinkedList <Zero> succesZero = new CircularLinkedList <Zero>(); succesZero.Add(current.Data); for (int a = 0; a < circularList.Count; a++) { countOfSucces = 0; for (int b = 0; b < succesZero.Count; b++) { if (circularList[a].Data.i != succesZero[b].Data.i & circularList[a].Data.j != succesZero[b].Data.j) { ++countOfSucces; } } if (countOfSucces == succesZero.Count) { succesZero.Add(circularList[a].Data); } if (countOfSucces == matrix.height) { break; } } if (countOfSucces == matrix.height) { foreach (var item in succesZero) { Console.WriteLine((item.i + 1) + " " + (item.j + 1)); } return(true); } current = current.Next; } while (current != circularList.head); return(false); }
private void zeroSearch() { for (int i = 0; i < matrix.height; i++) { for (int j = 0; j < matrix.width; j++) { if (matrix[i, j] == 0) { circularList.Add(new Zero(i, j)); } } } }