jakeehoson   3년 전

여러번 시도해보다가 점점 길어지고 스파게티 코드가 돼서 질문 안드리고싶었지만..

여러가지 input도 시도해봐도 잘 나오는데 채점하면 틀립니다.

시도한 test set은 아래에 있습니다.

기본적인 로직은

1. cross hatching(나중에 이름을 알게돼서 코드에서 이름은 candidate입니다)

2. 빈칸에 들어갈 수가 하나밖에 없으면 채움

3. 위의 과정을 반복하고 더 이상 풀 수 없으면 빈칸에 들어갈 수가 2개(그것도 안되면 +1개)인 칸에 시도

...

이런 식입니다.

무조건 푼다는 오기로 질문할 걸 생각 못하고 짜서 가독성이 개판입니다 ㅠㅠ 죄송합니다.

(공지에서는 언급하지 말라 하셨지만 6%에서 틀립니다)

test set

//input 1
0 5 0 0 0 1 0 0 0
3 0 0 0 7 0 0 0 0
2 4 0 3 6 0 7 0 0
0 0 2 0 0 4 0 1 0
0 0 9 8 0 7 3 0 0
0 8 0 2 0 0 4 0 0
0 0 7 0 5 6 0 4 2
0 0 0 0 4 0 0 0 1
0 0 0 9 0 0 0 8 0
//output 1
7 5 6 4 8 1 2 9 3
3 9 8 5 7 2 1 6 4
2 4 1 3 6 9 7 5 8
5 7 2 6 3 4 8 1 9
4 6 9 8 1 7 3 2 5
1 8 3 2 9 5 4 7 6
8 3 7 1 5 6 9 4 2
9 2 5 7 4 8 6 3 1
6 1 4 9 2 3 5 8 7


//input 2
0 0 0 7 5 0 0 3 0
1 0 6 0 0 0 0 0 0
8 0 0 3 0 0 0 0 0
0 2 0 0 0 0 0 4 0
0 0 0 6 0 0 8 0 0
0 0 0 0 0 1 0 0 0
0 4 0 0 9 0 0 0 0
3 0 0 0 4 0 0 0 0
0 0 0 0 0 0 1 0 0
//output 2
2 9 4 7 5 8 6 3 1
1 3 6 9 2 4 7 5 8
8 7 5 3 1 6 4 9 2
7 2 1 5 8 9 3 4 6
4 5 3 6 7 2 8 1 9
9 6 8 4 3 1 5 2 7
6 4 7 1 9 5 2 8 3
3 1 2 8 4 7 9 6 5
5 8 9 2 6 3 1 7 4


//input 3 오래걸리지만 되긴 됩니다
8 0 0 0 0 0 0 0 0
0 0 3 6 0 0 0 0 0
0 7 0 0 9 0 2 0 0
0 5 0 0 0 7 0 0 0
0 0 0 0 4 5 7 0 0
0 0 0 1 0 0 0 3 0
0 0 1 0 0 0 0 6 8
0 0 8 5 0 0 0 1 0
0 9 0 0 0 0 4 0 0
//output3
8 1 2 7 5 3 6 4 9
9 4 3 6 8 2 1 7 5
6 7 5 4 9 1 2 8 3
1 5 4 2 3 7 8 9 6
3 6 9 8 4 5 7 2 1
2 8 7 1 6 9 5 3 4
5 2 1 9 7 4 3 6 8
4 3 8 5 2 6 9 1 7
7 9 6 3 1 8 4 5 2


//input 4
0 0 0 6 3 0 2 0 7
8 0 0 0 0 0 0 0 0
0 0 0 7 0 0 0 0 0
0 0 2 0 0 5 0 0 0
0 0 0 0 4 0 0 8 0
0 7 0 0 0 0 0 0 0
1 0 0 2 0 0 5 0 0
0 3 0 0 0 0 0 4 0
4 0 0 0 0 0 0 0 0
//output4
5 9 4 6 3 8 2 1 7
8 6 7 4 2 1 3 5 9
2 1 3 7 5 9 8 6 4
6 4 2 8 7 5 9 3 1
3 5 1 9 4 2 7 8 6
9 7 8 1 6 3 4 2 5
1 8 6 2 9 4 5 7 3
7 3 9 5 8 6 1 4 2
4 2 5 3 1 7 6 9 8


//input5
0 0 5 3 0 0 0 0 0
8 0 0 0 0 0 0 2 0
0 7 0 0 1 0 5 0 0
4 0 0 0 0 5 3 0 0
0 1 0 0 7 0 0 0 6
0 0 3 2 0 0 0 8 0
0 6 0 5 0 0 0 0 9
0 0 4 0 0 0 0 3 0
0 0 0 0 0 9 7 0 0
//output5
1 4 5 3 2 7 6 9 8
8 3 9 6 5 4 1 2 7
6 7 2 9 1 8 5 4 3
4 9 6 1 8 5 3 7 2
2 1 8 4 7 3 9 5 6
7 5 3 2 9 6 4 8 1
3 6 7 5 4 2 8 1 9
9 8 4 7 6 1 2 3 5
5 2 1 8 3 9 7 6 4


//input6
9 0 3 6 0 1 4 0 7
0 0 0 0 8 0 0 0 0
6 0 0 9 0 7 0 0 2
4 0 6 0 0 0 1 0 8
0 3 0 0 0 0 0 7 0
7 0 8 0 0 0 2 0 3
5 0 0 7 0 2 0 0 4
0 0 0 0 6 0 0 0 0
3 0 1 8 0 9 7 0 6
//output6
9 8 3 6 2 1 4 5 7
2 7 4 3 8 5 9 6 1
6 1 5 9 4 7 3 8 2
4 5 6 2 7 3 1 9 8
1 3 2 4 9 8 6 7 5
7 9 8 5 1 6 2 4 3
5 6 9 7 3 2 8 1 4
8 2 7 1 6 4 5 3 9
3 4 1 8 5 9 7 2 6


//input7(blank)
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
//output7
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 6 7 4 8 9 5
8 7 5 9 1 2 3 6 4
6 9 4 5 3 8 2 1 7
3 1 7 2 6 5 9 4 8
5 4 2 8 9 7 6 3 1
9 6 8 3 4 1 5 7 2


//input8
0 0 0 0 1 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
//output8
2 3 4 5 1 6 7 8 9
1 5 6 7 8 9 2 3 4
7 8 9 2 3 4 1 5 6
3 2 1 4 6 5 8 9 7
9 4 5 8 7 1 3 6 2
8 6 7 9 2 3 4 1 5
4 9 3 1 5 7 6 2 8
5 1 2 6 4 8 9 7 3
6 7 8 3 9 2 5 4 1


//input9
0 0 0 0 5 0 0 0 0
0 9 0 8 0 0 0 7 0
0 3 0 0 2 0 4 0 0
0 0 0 5 4 0 2 6 0
0 0 1 0 9 2 0 0 0
5 0 0 0 0 3 0 0 7
4 0 0 1 0 5 0 8 0
2 0 9 0 0 0 0 0 0
0 1 0 0 0 0 0 0 0
//output9
1 4 8 3 5 7 6 2 9
6 9 2 8 1 4 3 7 5
7 3 5 9 2 6 4 1 8
9 8 7 5 4 1 2 6 3
3 6 1 7 9 2 8 5 4
5 2 4 6 8 3 1 9 7
4 7 6 1 3 5 9 8 2
2 5 9 4 6 8 7 3 1
8 1 3 2 7 9 5 4 6

댓글을 작성하려면 로그인해야 합니다.