태그 보관물: chess

chess

N × N 체스 판에는 몇 개의 Wazir를 배치 할 수 있습니까? 만 움직입니다. NxN 체스 판에 두 개의

Wazir라는 새로운 요정 체스 조각 이 체스에 도입되었다고 가정 해보십시오 . Wazirs는 위치 ( x , y )에서 다음 위치로 이동할 수 있습니다 :
 ( x +1, y )
 ( x , y +1)
 ( x -1, y )
 ( x , y -1)

즉, 그들은 루크처럼 직교 적으로 움직이지만 왕처럼 한 번에 한 걸음 만 움직입니다. NxN 체스 판에 두 개의 화이자가 서로를 공격 할 수 없도록 얼마나 많은 화이자를 배치 할 수 있습니까?

 1 × 1 보드에는 그러한 조각이 하나만있을 수 있습니다.
 2 × 2 보드에는 2 개의 조각이있을 수 있습니다.
 3 x 3 보드에는 5 조각이있을 수 있습니다.

N이 주어지면 N × N 체스 판에 놓을 수있는 wazirs의 수를 반환하십시오.

이다 OEIS 순서 A000982 .

더 많은 테스트 사례

725

832

1005000



답변

공백 , 45 바이트










온라인으로 사용해보십시오!

그런데 여기에 ⌈n² / 2⌉ 공식이 옳다는 증거가 있습니다.

  • 우리는 항상 적어도 ⌈n² / 2⌉의 wazirs를 배치 할 수 있습니다 : 바둑판 패턴으로 배치하십시오! 왼쪽 상단 타일이 흰색이라고 가정하면 n × n 보드 에 ⌈n² / 2⌉ 흰색 타일과 ⌊n² / 2⌋ 검은 색 타일이 있습니다. 그리고 우리가 흰 타일에 wazirs를 놓으면, 두 wazair는 모두 검은 타일을“보는”것처럼 서로를 공격하지 않습니다.

    5 x 5 보드에 13 개의 wazir를 배치하는 방법은 다음과 같습니다 (각 W는 wazir 임).

              

  • 우리는 더 잘 할 수 없습니다 : 바둑판을 임의로 2 × 1 도미노 조각으로 바둑판 식으로 배열하십시오. 선택적으로 홀수 길이 체스 판의 마지막 모서리에 1 × 1 조각을 사용하십시오.

              

    체스 판을 덮기 위해서는 ⌈n² / 2⌉ 도미노가 필요합니다. 분명히, 하나의 도미노에 두 개의 wazir를두면 서로 공격 할 수 있습니다! 각 도미노는 단지 우리가 할 수없는 의미를 가장 한 지르에 포함 할 수 있도록 가능한 보드에 대한 자세한 ⌈n² 이상 / 2⌉ wazirs 놓습니다.


답변

오아시스 , 3 바이트

k>v

온라인으로 사용해보십시오!

제곱-증분-정수 반


답변

프롤로그 (SWI) , 22 19 바이트

Kevin Cruijssen 덕분에 3 바이트 절약

X*Y:-Y is(X*X+1)/2.

온라인으로 사용해보십시오!


답변

APL (Dyalog) , 9 7 6 바이트

이제 Xcoder 씨의 공식을 사용합니다.

이것은 N을 인수로 사용하는 익명의 접두사 암묵 함수입니다.

2÷⍨×⍨

온라인으로 사용해보십시오!

×⍨ 정사각형 N (점등 곱셈 셀카, 즉 자기 곱하기)

2÷⍨ 2로 나누다

 천장 (반올림)


답변

JS (ES6) / C # 폴리 글롯, 11 바이트

n=>n*n+1>>1

테스트 사례

let f =

n=>n*n+1>>1

console.log(f(7))
console.log(f(8))
console.log(f(100))

답변

dc , 6 바이트

2^2~+p

2^: 정사각형;
2~: 몫을 나머지로 밀고 2로 나눕니다.
+p: 나머지를 몫 및 인쇄에 추가합니다.

온라인으로 사용해보십시오!


답변

05AB1E , 3 바이트

A000982에 의해 주어진 공식의 직접적인 구현

n;î

온라인으로 사용해보십시오!

설명

n      # square
 ;     # divide by 2
  î    # round up