스도쿠 솔루션 생성 CHECKER
여기 스도쿠 솔버 (Sudoku SOLVERS)가 있지만 인간적으로 가능한 작은 코드 체커 (code-golf) 솔루션을 만들고 싶습니다.
유효한 항목은 9x9 배열을 인수로 사용하거나 (참조에 의해 전달되고, 명령 행에 직렬화되거나 취하려고 함) 최종 그리드에 9 개의 9 행인 입력 파일을 승인 할 수 있습니다. . 아래 입력 예를 참조하십시오.
유효한 입력은 10 진수 (1-9) 여야합니다.
0이 아닌 결과를 반환하거나, 오류를 인쇄하거나, 또는 둘 다를 사용하여 누락되거나 비어 있거나 추가로 숫자가 아닌 위치 또는 숫자가 1-9가 아닌 위치는 유효하지 않은 입력으로 거부되어야합니다.
프로그램은 각 숫자가 열당 한 번, 줄당 한 번, 3x3 하위 표당 한 번 나타나는지 테스트해야합니다. 통과하면 "0"을 반환하고, 그렇지 않으면 0이 아닌 결과를 반환합니다.
외부 자원 (웹 사이트 등)의 사용은 피해야합니다.
솔루션이 독립형 프로그램 인 경우, "Pass"또는 "Fail"에 대해 각각 "0"또는 0이 아닌 종료 상태로 종료하거나 인쇄하는 것이 정상입니다.
가장 작은 답변이 이길 수 있습니다!
입력 예 :
c 배열 :
int input[9][9]={{1,2,3,4,5,6,7,8,9},
{4,5,6,7,8,9,1,2,3},
{7,8,9,1,2,3,4,5,6},
{2,3,1,5,6,4,8,9,7},
{5,6,4,8,9,7,2,3,1},
{8,9,7,2,3,1,5,6,4},
{3,1,2,6,4,5,9,7,8},
{6,4,5,9,7,8,3,1,2},
{9,7,8,3,1,2,6,4,5}
};
파일:
123456789
456789123
789123456
231564897
564897231
897231564
312645978
645978312
978312645
9 개의 하위 그리드 :
+---+---+---+
|123|456|789|
|456|789|123|
|789|123|456|
+---+---+---+
|231|564|897|
|564|897|231|
|897|231|564|
+---+---+---+
|312|645|978|
|645|978|312|
|978|312|645|
+---+---+---+
1
또는 보다 더 의미있는 것을 좋아한다-1