만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

스도쿠 변형

시간 제한2초메모리 제한512 MB

요약
빈 칸이 최대 3개인 3x3 격자가 주어질 때, 각 행과 열에 숫자가 겹치지 않도록 빈 칸을 채우는 경우의 수를 센다.
난이도

쉬움10점 중 3점

유형
완전 탐색, 백트래킹, 구현
정답자
아직 제출이 없습니다

문제

스도쿠는 9x9 격자에서 하는 유명한 논리 퍼즐 게임이다. 모든 행, 열, 3x3 박스에 1부터 9까지의 숫자가 한 번씩 들어가도록 격자를 채워야 한다. 이 문제에서는 3x3 격자에서 하는 이 퍼즐의 변형을 다룬다.

스도쿠와 마찬가지로 주어지는 3x3 격자에는 1부터 9까지의 숫자가 일부 채워져 있다. 남은 빈 칸을 1부터 9까지의 숫자로 채워서 모든 행과 모든 열에 나타나는 숫자가 서로 다르도록, 즉 같은 숫자가 한 행이나 한 열에서 반복되지 않도록 만들어야 한다.

주어지는 격자에는 빈 칸이 1개 이상 3개 이하 있다. 주어진 격자는 규칙에 맞게 채워져 있어서 어떤 행이나 열에도 숫자가 중복되지 않는다. 빈 칸을 채우는 방법의 수를 구하라.

입력

입력은 3개의 줄로 이루어지고, 각 줄에는 3개의 숫자가 공백 하나로 구분되어 주어진다. 각 줄은 3x3 격자의 한 행을 나타낸다. 첫 번째 줄은 격자의 첫 번째 행, 두 번째 줄은 두 번째 행을 나타내는 식이다. 입력에서 1부터 9까지의 숫자는 그 칸이 이미 그 숫자로 채워져 있음을, 숫자 0은 그 칸이 비어 있음을 나타낸다.

출력

주어진 퍼즐을 푸는 방법의 수를 출력한다.

예제3

  1. 예제 1

    입력
    1 2 3
    2 0 1
    3 1 2
    
    예상 출력
    7
    
  2. 예제 2

    입력
    1 2 3
    4 5 6
    7 8 0
    
    예상 출력
    5
    
  3. 예제 3

    입력
    9 8 0
    8 5 9
    7 9 0
    
    예상 출력
    43