Nội dung Bài tập
- Mã:
-
Div2.MINIGAME33.1:
FINDROW
- Tên:
- Tìm dòng trên ma trận
- Dạng thi:
- oi
- Thang điểm:
- 10 điểm
- Giới hạn thời gian:
- 1 giây
- Giới hạn bộ nhớ:
- 256 MB
- Được tạo bởi:
- phucnq
Trong giờ học thực hành về vòng lặp và thực hiện thao tác trên Ma trận. Thầy giáo cho lớp một bài tập như sau:
Cho một ma trận A gồm N dòng và M cột. Mỗi phần tử A[i][j] là các số nguyên dương.
Với ma trận đã cho, thực hiện Q truy vấn. Mỗi truy vấn gồm một dãy M số nguyên. Công việc của các bạn là đếm xem trong ma trận A ban đầu, có thể có tối đa bao nhiêu dòng mà dữ liệu của dòng đó tương ứng với dãy số mà truy vấn đưa ra.
Vấn đề đặt ra là trong truy vấn, những số -1 có thể thay thế bằng một giá trị bất kỳ tùy ý. Nếu giá trị đó vô tình trùng với phần tử tương ứng trong ma trận A thì truy vấn này hợp lệ.
Chẳng hạn, với một truy vấn có dạng: -1 3 2. Nghĩa là ta cần đếm xem trong ma trận ban đầu có bao nhiêu dòng thỏa mãn: số 3 nằm ở cột thứ hai, số 2 nằm ở cột thứ ba. Còn số -1 có thể thay thế bằng một số bất kỳ khác rồi so sánh.
Input:
- Dòng 1: 2 số nguyên dương N, M cách nhau một khoảng trắng (1 <= N, M <= 10^3)
- N dòng tiếp theo, mỗi dòng gồm M số nguyên dương cách nhau một khoảng trắng là giá trị A[i][j]. Biết rằng A[i][j] không vượt quá 10^6
- Dòng N+2: Số nguyên dương Q - số lượng truy vấn (1 <= Q <= 50)
- Q dòng tiếp theo, mỗi dòng gồm M số nguyên. Mỗi số cách nhau một khoảng trắng là dãy số cần tìm.
Output:
Q dòng, mỗi dòng là đáp số của từng truy vấn.
Ví dụ 1:
Input Output 4 3 1 5 2 2 3 4 4 3 2 5 4 6 3 -1 -1 2 -1 3 2 -1 -1 -1 2 1 4
Ví dụ 2:
Input Output 3 8 6 5 97 99 82 50 95 1 85 62 11 64 94 84 88 19 43 99 11 64 94 84 31 19 3 -1 -1 11 64 94 84 -1 19 -1 -1 -1 99 -1 -1 -1 1 95 -1 -1 -1 -1 80 -1 -1 2 1 0
Theme :
Mời bạn soạn code
Ai có thể xem bài này :
Thông tin
Phần thảo luận