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

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

국토 분할

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

요약
세로선과 가로선으로 격자를 잘라 모든 영역의 인구 합이 같아지도록 하는 분할의 수를 센다.
난이도

보통10점 중 6점

유형
누적 합, 구현, 수학, 완전 탐색
정답자
아직 제출이 없습니다

문제

JOI 나라는 세로 H행, 가로 W열의 격자 모양으로 나뉜 직사각형이다. JOI 나라의 세로 방향은 남북 방향과 평행하고, 가로 방향은 동서 방향과 평행하다. 북쪽에서 i번째 행(1 ≦ i ≦ H), 서쪽에서 j번째 열(1 ≦ j ≦ W)에 있는 칸의 인구는 Ai,j명이다.

JOI 나라는 행정의 효율화를 위해 다음 조건을 만족하는 경계선을 1개 이상 그어 나라 전체를 2개 이상의 지역으로 나누기로 했다.

  • 경계선은 칸의 경계 위에 있다.
  • 경계선은 JOI 나라의 북쪽 끝에서 남쪽 끝을 잇거나 JOI 나라의 동쪽 끝에서 서쪽 끝을 잇는 선분이다.

JOI 나라의 각 칸의 인구가 주어질 때, 가능한 모든 분할 방법 중에서 모든 지역의 인구가 같아지는 분할 방법은 몇 가지인지 구하는 프로그램을 작성하시오.

입력

입력은 다음 형식으로 표준 입력에서 주어진다.

H W
A1,1 A1,2 … A1,W
A2,1 A2,2 … A2,W
:
AH,1 AH,2 … AH,W

출력

표준 출력에 모든 지역의 인구가 같아지는 분할 방법은 몇 가지인지 1행으로 출력하시오.

제한

  • 1 ≦ H ≦ 50.
  • 1 ≦ W ≦ 50.
  • 1 ≦ Ai,j ≦ 100 000 (1 ≦ i ≦ H, 1 ≦ j ≦ W).
  • 입력되는 값은 모두 정수이다.

예제4

  1. 예제 1

    입력
    2 3
    10 10 20
    10 10 20
    
    예상 출력
    3
    
  2. 예제 2

    입력
    1 4
    2 1 1 2
    
    예상 출력
    2
    
  3. 예제 3

    입력
    3 3
    2 9 4
    7 5 3
    6 1 8
    
    예상 출력
    2
    
  4. 예제 4

    입력
    1 1
    10000
    
    예상 출력
    0