현재 N-Queens 문제를 해결하려고합니다. 특히 8x8
보드에서 8 명의 퀸을 타겟팅합니다.R : N-Queens와 문제가 있습니다.
첫 번째 부분은 문제입니다. 첫 번째는 여왕이 이미 매트릭스에 사전 할당되어있을 때 조각이 안전한지 여부를 결정하는 "safe"
기능입니다. 그래서 다음과 같이이 다음이
>chess.board <- matrix(data=0,8,8)
>chess.board[r,c] <- 1 #the r,c can be any row,column I choose
>chess.piece <- c(x,x) #the x,x could be for example two numbers that also represent a row and column
은 안전 기능을 통해 실행합니다 :
>safe(chess.piece,chess.board)
나는이 여러 문제가 발생하고있다. 체스 조각의 행렬, 행렬, 대각선의 합이 < 1
일 때 TRUE
을 반환하거나 > 0
이상인 경우 FALSE
을 반환해야 함을 이해합니다.
지금까지 내가 가진 :
는>safe <- function(a,b){
if((sum(b[a,])<1) & (sum(b[,a])<1))
{return(TRUE)
}else{
return(FALSE)
}
}
이 단지 행/열입니다하지만이 TRUE
해야 할 때 가끔 FALSE
을 반환합니다. 예를 들어, 체스 피스가 c (3,6)로 설정되고 행렬 1이 1,3에 위치 할 때 발생합니다. 그것은 체스 조각에서 3을 가져 와서 칼럼의 잘못된 값과 결합시키는 것 같습니다. 왜이 일을하는거야?
다음 부분은 체스 조각 위치에 따라 행렬의 대각선 합계를 합한 것입니다. 이것은 나를 혼란스럽게합니다.
나는 R에 상당히 익숙하며, 내가 두뇌를 고를 수 있는지 궁금해. 필자는 직접적인 해결책을 원할 필요는 없지만 올바른 방향으로 나아가는 몇 가지 조언은 정말 도움이 될 것입니다. 사전에
감사합니다, Jim.S
감사합니다! 정말 도움이되었습니다! 할당 된 체스 피스에서 대각선 합계를 찾는 문제에 대한 해결책은 무엇입니까? 정말 그뿐만 아니라 고군분투 :) –