Đường đều


Submit solution

Points: 3.4 (partial)
Time limit: 1.5s
JAVA11 2.0s
Pypy 3 2.0s
Memory limit: 98M
JAVA11 977M
Pypy 3 977M

Author:
Problem types

Cho bảng \(T\) hình chữ nhật \(m*n\) ô (\(m\) hàng \(n\) cột), các hàng đánh số từ \(1\) tới \(m\) từ trên xuống dưới, các cột đánh số từ \(1\) tới \(n\) từ trái sang phải. Trong mỗi ô hàn \(i\) cột \(j\) của bảng có một số được kí hiệu là \(T[i][j]\). Đếm số dãy gồm \(m\) phần tử \(T[1][i_1], T[2][i_2], ... , T[m][i_m]\) sao cho \(n \ge i_1 \ge i_2 \ge ... \ge i_m \ge 1\) và \(T[1][i_1] = T[2][i_2] = ... = T[m][i_m]\).

Đầu vào

Dòng đầu tiên chứa hai số nguyên \(m\) và \(n\) \((2 \le m, n \le 2000)\).

\(m\) dòng tiếp theo, mỗi dòng gồm \(n\) số nguyên trong khoảng \([-10^9, 10^9]\) là các số trong bảng.

Đầu ra

Một số nguyên duy nhất là kết quả của bài toán, lấy chia dư cho \(10^9 + 7\).

Subtask

\(30\%\) số test có \(2 \le m, n \le 8\).

\(30\%\) số test có \(2 \le m, n \le 200\).

Ví dụ

Đầu vào:

3 3
1 1 2
2 1 1
1 2 1

Đầu ra:

1

Giải thích: Chỉ có dãy ở các vị trí \((1, 2), (2, 2), (3, 1)\) là thỏa mãn đề bài.

QDUY

Comments

There are no comments at the moment.