아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

하이퍼하게 누울 하이퍼 자리를 찾아라

시간 제한4초메모리 제한1024 MB

요약
11차원 N 크기 큐브에 장애물 K개가 주어질 때, 11개 축 각각에서 빈 칸이 두 칸 이상 이어진 구간의 수를 구합니다.
난이도

보통10점 중 6점

유형
해시맵, 정렬, 구현
정답자
아직 제출이 없습니다

문제

일 년 동안 메타버스에서 VR 세계일주를 하던 시프트는 여행 도중 너무 피곤해져서, 근처 버추얼 콘도에서 하룻밤 자기로 하고 방을 잡았다.

버추얼 콘도의 방은 N×N×N×N×N×N×N×N×N×N×NN \times N \times N \times N \times N \times N \times N \times N \times N \times N \times N개의 칸이 늘어선 1111-초입방체 모양이다. 각 칸은 xx축, yy축, zz축, uu축, vv축, ww축, rr축, ss축, tt축, oo축, pp축과 평행한 1×1×1×1×1×1×1×1×1×1×11 \times 1 \times 1 \times 1 \times 1 \times 1 \times 1 \times 1 \times 1 \times 1 \times 1 크기의 단위 칸이며, 좌표 (x,y,z,u,v,w,r,s,t,o,p)\left(x,y,z,u,v,w,r,s,t,o,p\right)(1≤x,y,z,u,v,w,r,s,t,o,p≤N1 \le x,y,z,u,v,w,r,s,t,o,p \le N)로 나타낸다.

방 안에는 옮길 수 없는 짐이 많이 있고, 짐은 칸 하나씩을 차지한다. 짐들이 시프트의 누울 자리를 차지하고 있어서, 시프트는 이 열악한 환경에서 누울 자리를 찾아야 한다.

직선으로 똑바로 연속된 빈 칸이 2칸 이상 있으면 그 곳에 몸을 양 옆으로 쭉 뻗으며 누울 수 있다. 열한 가지 축에 평행한 열한 가지 방향으로 누울 수 있다. 시프트는 누울 때 몸을 항상 쭉 뻗기 때문에, 반드시 벽이나 짐에 닿게 된다. 중간에 어정쩡하게 눕는 경우는 없다.

위 그림과 같은 방에서는 xx축 방향으로 누울 수 있는 자리가 9 765 6279\,765\,627개이고, yy축 방향은 9 765 6259\,765\,625개, zz축 방향은 9 765 6259\,765\,625개, uu축 방향은 9 765 6259\,765\,625개, vv축 방향은 9 765 6259\,765\,625개, ww축 방향은 9 765 6259\,765\,625개, rr축 방향은 9 765 6249\,765\,624개, ss축 방향은 9 765 6259\,765\,625개, tt축 방향은 9 765 6259\,765\,625개, oo축 방향은 9 765 6259\,765\,625개, pp축 방향은 9 765 6279\,765\,627개이다.

방의 크기 NN과 방의 구조가 주어졌을 때, 열한 축 각각의 방향으로 누울 수 있는 자리의 수를 구하는 프로그램을 작성하시오.

입력

첫째 줄에 방의 크기 NN과 장애물의 수 KK가 주어진다. (0≤K≤111 1110 \le K \le 111\,111)

둘째 줄부터 KK개 줄에 걸쳐 장애물의 좌표가 xx, yy, zz, uu, vv, ww, rr, ss, tt, oo, pp 순으로 주어진다. 같은 위치에 두 개 이상의 장애물이 있는 경우는 없다.

출력

첫째 줄에 xx축 방향으로 누울 수 있는 자리의 개수를 출력한다.

둘째 줄에 yy축 방향으로 누울 수 있는 자리의 개수를 출력한다.

셋째 줄에 zz축 방향으로 누울 수 있는 자리의 개수를 출력한다.

넷째 줄에 uu축 방향으로 누울 수 있는 자리의 개수를 출력한다.

다섯째 줄에 vv축 방향으로 누울 수 있는 자리의 개수를 출력한다.

여섯째 줄에 ww축 방향으로 누울 수 있는 자리의 개수를 출력한다.

일곱째 줄에 rr축 방향으로 누울 수 있는 자리의 개수를 출력한다.

여덟째 줄에 ss축 방향으로 누울 수 있는 자리의 개수를 출력한다.

아홉째 줄에 tt축 방향으로 누울 수 있는 자리의 개수를 출력한다.

열째 줄에 oo축 방향으로 누울 수 있는 자리의 개수를 출력한다.

열한 번째 줄에 pp축 방향으로 누울 수 있는 자리의 개수를 출력한다.

예제3

  1. 예제 1

    입력
    2 2
    1 1 1 1 1 1 1 1 1 1 1
    2 1 1 1 1 1 1 1 1 1 1
    
    예상 출력
    1023
    1022
    1022
    1022
    1022
    1022
    1022
    1022
    1022
    1022
    1022
    
  2. 예제 2

    입력
    5 4
    5 1 2 4 1 2 1 1 2 1 2
    3 2 1 2 4 2 2 2 1 5 3
    5 1 5 4 1 2 1 1 2 1 2
    3 2 1 2 4 2 4 2 1 5 3
    
    예상 출력
    9765627
    9765625
    9765625
    9765625
    9765625
    9765625
    9765624
    9765625
    9765625
    9765625
    9765627
    
  3. 예제 3

    입력
    32 7
    21 5 15 12 29 9 18 17 20 16 3
    23 11 26 19 25 7 24 14 31 8 5
    21 5 15 12 31 9 18 17 20 16 3
    10 1 6 3 22 28 2 13 4 27 1
    10 2 6 3 22 28 2 13 4 27 1
    23 11 23 19 25 7 24 14 31 8 5
    32 30 21 5 15 12 3 10 1 6 12
    
    예상 출력
    1125899906842630
    1125899906842629
    1125899906842631
    1125899906842631
    1125899906842629
    1125899906842631
    1125899906842629
    1125899906842631
    1125899906842628
    1125899906842631
    1125899906842629