Bạn đang đưa ra một ma trận số nguyên lớn có kích thước N * M. tử ở hàng i, cột j được ký hiệu là a (i, j). Bạn cũng có K ma trận khác, kích thước của ma trận thứ i là H (i) * W (i) (1 ≤ H (i) ≤ N, 1 ≤ W (i) ≤ M). Nhiệm vụ của bạn là để đưa một số của các ma trận K (có thể không có hoặc tất cả) vào ma trận lớn trong cách mà các điều kiện dưới đây được thỏa mãn: Mỗi ma trận K được sử dụng nhiều nhất một lần, và chúng tôi không thể xoay chúng trước khi đưa. ma trận được đặt đúng bên trong ma trận lớn N * M. Không có hai ma trận đưa được chồng chéo nhau. Gọi S là tổng của tất cả các yếu tố trong ma trận số nguyên lớn N * M được bao phủ bởi các ma trận đưa vào. Mục tiêu của bạn là để tối đa hóa S. Input dòng đầu tiên chứa hai số nguyên dương N và M. N dòng tiếp theo, thứ i dòng chứa M số nguyên a (i, 1), a (i, 2), ..., a (i, M). sau đó, K trong một dòng. Các K dòng tiếp theo, thứ i dòng chứa hai số nguyên dương H (i) và W (i). Output dòng đầu tiên chứa số nguyên S. dòng thứ hai chứa C - số ma trận mà bạn chọn để đặt (0 ≤ C ≤ . K) sau đó các dòng C tiếp theo, là thứ i chứa ba số nguyên: id (i), px (i) và py (i) (1 ≤ id (i) ≤ K, 1 ≤ px (i) ≤ N , 1 ≤ py (i) ≤ M) nơi id (i) là chỉ số của ma trận bạn chọn, px (i) và py (j) là góc trên bên trái của id ma trận (i) khi đặt nó trong ma trận lớn. (id (i) là khác biệt, px (i) + H (id (i)) - 1 ≤ N, py (i) + W (id (i)) - 1 ≤ M) Sum của tất cả các yếu tố phủ phải có chính xác S. Hạn 1 ≤ N, M ≤ 100 1 ≤ K ≤ 100 -1000 ≤ a (i, j) ≤ 1000 số 20% các bài kiểm tra, trong đó K ≤ 5 số 20% các bài kiểm tra, trong đó một (i, j)> = 100 số 10% các bài kiểm tra, trong đó | a (i, j) | ≤ 10 số 10% các bài kiểm tra, trong đó H (i), W (i) ≤ 5 số 20% các bài kiểm tra, trong đó ((H (i) = 1) và (W (i)> M / 2)) hoặc ( (W (i) = 1) và (H (i)> N / 2))
đang được dịch, vui lòng đợi..
