Đếm số phần tử cực đại trong ma trận
Xem dạng PDFĐộ khó: Dễ (1/4 điểm)
📖 Bài giải chi tiết: 👉 Bấm vào đây để xem lời giải cụ thể của bài này trên blog
⚠️ Lưu ý: hãy đảm bảo em đã thật sự cố gắng tự làm bài trước, rồi mới bấm vào xem bài giải nhé!
🎓 Khóa học Lập trình Thuật toán thi đấu của thầy Nguyễn Việt Nam Sơn – 111 buổi video, kèm cặp cá nhân, luyện thi chuyên Tin · HSG Tin học · Tin học trẻ · đội tuyển quốc gia · Olympic/ICPC. 👉 Xem chi tiết khóa học · Thành tích học viên
📞 Đăng ký học: Zalo 0767 666 702 · Facebook Nguyễn Việt Nam Sơn · 🌐 laptrinhthuattoan.blogspot.com
Đếm số lượng phần tử cực đại trong ma trận các số thực. Một phần tử được gọi là cực đại khi nó lớn hơn các phần tử xung quanh (tức là lớn hơn tất cả các phần tử lân cận với nó, kể cả các phần tử nằm chéo góc).
Bài tập gốc yêu cầu viết hàm int CountMaximaInMatrix(double a[][MAX], int rows, int colums) trả về số phần tử cực đại; định dạng nhập/xuất dưới đây được quy ước để chấm bài.
Dữ liệu vào
- Dòng đầu gồm 2 số nguyên ~rows~, ~colums~: số dòng và số cột của ma trận.
- ~rows~ dòng tiếp theo, mỗi dòng gồm ~colums~ số thực là các phần tử của ma trận.
Kết quả
- Một số nguyên là số lượng phần tử cực đại trong ma trận.
Giới hạn
- ~1 \le rows, colums \le 100~.
- Ma trận ~1 \times 1~: phần tử duy nhất không có lân cận nào nên được tính là ~1~ cực đại.
Sample Input 1
3 3
1 2 3
4 5 6
7 8 9
Sample Output 1
1
Sample Input 2
3 4
1 5 2 8
3 2 4 1
9 1 3 7
Sample Output 2
4
Giải thích
Ở ví dụ 1, chỉ có số ~9~ là lớn hơn tất cả các số xung quanh nó (~5~, ~6~, ~8~) nên đáp án là ~1~.
Ở ví dụ 2 có 4 phần tử cực đại: ~5~ (lớn hơn ~1, 2, 3, 2, 4~), ~8~ (lớn hơn ~2, 4, 1~), ~9~ (lớn hơn ~3, 2, 1~) và ~7~ (lớn hơn ~4, 1, 3~). Số ~4~ ở giữa thì không phải vì nó nhỏ hơn ~5~, ~8~, ~7~.
Bình luận