14 9 12 10
1 11 5 4
7 15 2 13
6 3 16 8


다음과 같이 있을때 4방면이 자기보다 큰 seed값의 가중치를 1로 줍니다. 


0 1 0 0
1 0 0 1
0 0 1 0
0 1 0 1


seed값의 4방면에 있는 값들은 전부 갈수 있으므로 가중치를 weight = seed의weight+1 해줍니다.


2 1 2 2
1 2 2 1
2 2 1 2
2 1 2 1


가중치가 2인 것들중에서 4방면중 자기보다 큰수가 존재하면 그 수의가중치를 weight = 자기의weight+1 (즉 3)


2 1 3 2
1 3 2 1
3 3 1 2
2 1 2 1

가중치가 3인 것들중에서 4방면중 자기보다 큰수가 존재하면 그 수의가중치를 weight = 자기의weight+1 (즉 4)


2 1 3 2
1 3 2 1
3 4 1 2
2 1 2 1


이렇게 풀엇습니다. 


속도를 증가 시키기 위하여 


가중치가 X인것을 저장하는데는 큐를 사용하였습니다.