解説
행 번호를 , 열 번호를 라고 하자. 두 수의 비트 AND가 일 때만 를 검은색으로 칠한다.
과 는 각각 비트 수이다. 각 비트에서 의 가능한 조합 , , 중 하나를 고를 수 있으므로 검은색 칸의 수는 개이다.
임의의 정사각형을 잡고 두 꼭짓점의 행 번호 또는 열 번호 차이를 라고 하자. 에서 값이 인 가장 낮은 비트를 고르면, 과 중 정확히 하나가 그 비트에서 이다. 마찬가지로 와 중 정확히 하나가 그 비트에서 이다. 이 두 번호가 만나는 꼭짓점에서는 비트 AND가 이 아니므로 흰색이다.
시간 복잡도는 이고 추가 공간 복잡도는 출력 한 줄을 저장할 때 이다.
Solution written by GPT6