스도쿠 변형
시간 제한2초메모리 제한512 MB
빈 칸이 최대 3개인 3x3 격자가 주어질 때, 각 행과 열에 숫자가 겹치지 않도록 빈 칸을 채우는 경우의 수를 센다.
문제
스도쿠는 9x9 격자에서 하는 유명한 논리 퍼즐 게임이다. 모든 행, 열, 3x3 박스에 1부터 9까지의 숫자가 한 번씩 들어가도록 격자를 채워야 한다. 이 문제에서는 3x3 격자에서 하는 이 퍼즐의 변형을 다룬다.
스도쿠와 마찬가지로 주어지는 3x3 격자에는 1부터 9까지의 숫자가 일부 채워져 있다. 남은 빈 칸을 1부터 9까지의 숫자로 채워서 모든 행과 모든 열에 나타나는 숫자가 서로 다르도록, 즉 같은 숫자가 한 행이나 한 열에서 반복되지 않도록 만들어야 한다.
주어지는 격자에는 빈 칸이 1개 이상 3개 이하 있다. 주어진 격자는 규칙에 맞게 채워져 있어서 어떤 행이나 열에도 숫자가 중복되지 않는다. 빈 칸을 채우는 방법의 수를 구하라.
입력
입력은 3개의 줄로 이루어지고, 각 줄에는 3개의 숫자가 공백 하나로 구분되어 주어진다. 각 줄은 3x3 격자의 한 행을 나타낸다. 첫 번째 줄은 격자의 첫 번째 행, 두 번째 줄은 두 번째 행을 나타내는 식이다. 입력에서 1부터 9까지의 숫자는 그 칸이 이미 그 숫자로 채워져 있음을, 숫자 0은 그 칸이 비어 있음을 나타낸다.
출력
주어진 퍼즐을 푸는 방법의 수를 출력한다.