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

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

박스

면접 대비

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

요약
격자 각 열에서 상자를 아래로 떨어뜨리고 모든 상자가 이동한 칸 수의 합을 구합니다.
난이도

쉬움10점 중 2점

유형
시뮬레이션, 행렬
정답자
아직 제출이 없습니다

문제

mm행 nn열 그리드가 주어진다. 일부 칸에는 박스가 하나씩 들어 있다. 모든 박스가 더 이상 내려갈 수 없을 때까지 아래로 움직이면 박스는 바닥부터 쌓인 상태가 된다. 박스는 서로를 통과하지 못하므로, 어떤 열에 박스가 kk개 있으면 그 열의 맨 아래 kk칸이 채워진다.

박스가 움직인 거리는 처음 칸에서 최종 칸까지 내려간 칸의 개수다. 첫 번째 예제의 5행 4열 그리드에는 박스가 7개 들어 있고, 맨 왼쪽 열에서 가장 위에 있던 박스는 2칸을 내려간다. 이 그리드에서 박스 7개가 움직인 거리의 합은 8이다.

모든 박스가 움직인 거리의 합, 즉 각 박스가 움직인 거리를 모두 더한 값을 구하는 프로그램을 작성하시오.

입력

첫째 줄에 테스트 케이스의 개수 TT가 주어진다.

각 테스트 케이스의 첫째 줄에는 mm과 nn이 주어진다 (1≤m,n≤1001 \le m, n \le 100). 이어지는 mm개 줄에는 그리드의 각 행을 나타내는 정수 nn개가 첫 행부터 마지막 행까지 순서대로 주어진다. 박스가 들어 있는 칸은 1, 빈 칸은 0으로 주어지고, 정수 사이에는 공백이 하나씩 있다.

출력

각 테스트 케이스마다 모든 박스가 움직인 거리의 합을 한 줄에 출력한다.

예제1

  1. 예제 1

    입력
    3
    5 4
    1 0 0 0
    0 0 1 0
    1 0 0 1
    0 1 0 0
    1 0 1 0
    3 3
    1 1 1
    1 1 1
    0 0 0
    5 6
    1 0 1 1 0 1
    0 0 0 0 0 0
    1 1 1 0 0 0
    0 0 0 1 1 1
    0 1 0 1 0 1
    
    예상 출력
    8
    6
    16