: 조합이라고 생각해서 코드를 진짜 그냥 조합코드로 작성하는 것이 아니다.
bool Check(int y, int x)
{
// 대각선 , 가로, 세로 전부 다 확인
// 1,0인 경우에는
// 대각선은 4가지를 볼까???
// 2,1 // 3,2 // 4,3(X)
for(int i = 0; i < 4; ++i)
{
int tY = y;
int tX = x;
while(tY >= 0 && tY < ssize && tX >= 0 && tX < ssize)
{
tY += dirs[i].first;
tX += dirs[i].second;
if(tY >= 0 && tY < ssize && tX >= 0 && tX < ssize)
{
if(vertex[tY][tX] == 1)
return false;
}
}
}
for(int i = 0; i < ssize; ++i)
{
if(vertex[i][x] == 1)
return false;
}
for(int i = 0; i < ssize; ++i)
{
if(vertex[y][i] == 1)
return false;
}
return true;
}
: 순서에 관계 없이 일단 한번 맞춰지면 다시 진행할 필요 없어서.
조합으로 해야겠다는 생각을 해서
-> 27.3점 맞음.

그런데 문제를 풀면서 드는 생각이 앞쪽으로 와서 순회를 해야할텐데??? 라는 생각을 했고,
문제에서 힌트가 있다.

: 이거는 어떻게 할건데? 그래서 이렇게 변경함.
x축은 0으로 복귀를 해야 한다.

=> 90점 맞음.

y쪽은 어쨋든 for문 형태이기 때문에 1번 y값부터 시작할수 있다.


시간복잡도는
최악으로 해서 12! 이고
이중for문이기 때문에 -> 12! 12 12이다.
그래서 y쪽 for문을 지우자.

정답
