2017-11-26 11 views
0

프로그래밍 클래스 용 전함 게임을 코딩 중이며 사용자가 가지고 있어야하는 배수를 적어야하는 부분이 있습니다. 발견. 문제는 대각선으로조차 각 선박에 이웃을 배치 할 수 없다는 것입니다. 또한 프로그램은 배를 무작위로 배치하고 교사는 행과 열의 수를 변경할 수 있습니다. 그래서, 매트릭스에 배치 할 수있는 배의 수를 결정하는 수식을 만들어야합니다. 또한 배를 어디에 두는 지에 따라 달라집니다 (그림의 예와 같음). 테이블에 넣을 수있는 최대 배 수를 알아 보는 방법

감사합니다.

P .: 선박은 한 블록 만 차지합니다.

+0

배송 크기는? – iBug

+1

이것은 * 기존 * 코드와 관련이 있기 때문에 논쟁 거리가 아니며 C와 관련이 없습니다 (Common Lisp, C++, Python, Ocaml과 같은 다른 프로그래밍 언어에서 동일한 문제가 있음). 그러나 그 숫자를 계산하는 공식이 필요하지 않습니다. 새로운 보트를 더 이상 배치 할 수 없을 때까지 새로운 보트를 무작위로 배치 할 수 있습니다. 어떤 명시적인 수식 (아마도 존재하지 않을 수도 있음)이 필요하지 않습니다. –

+0

그러나 흑백 보드에서 추론 할 수 있습니다. 그런 다음 상한선 (배 수에 대한)이 검은 색 셀 수입니다. 다음 질문에 대해서는 [MCVE] –

답변

0

그림에서 알 수 있듯이 대부분의 배는 2x2 블록 당 1 개입니다. 어떤 크기가 이상한 경우, 하나 더 가질 수 있습니다. 당신은 가능성이 noticably 적은 수의 충돌 것,

((width + 1)/2) * ((height + 1)/2) 

배들이있는 경우

무작위로 배치 할 수 있지만 최대의 : 그래서, 최대 수에 대한 공식이다.