Môn Tin họcQuản lý học tập Tin học

Kiểm tra điểm danh bằng mã QR của lớp học

Lớp 11Lập trìnhpythonGiải quyết vấn đề với máy tínhVận dụng cao

Thang điểm 10 · 6 test case chấm tự động · 4 tiêu chí chấm

Lớp 11A có n học sinh, mã số học sinh được đánh từ 1 đến n. Khi vào lớp, mỗi học sinh quét mã QR và hệ thống ghi lại dãy m lượt quét (theo đúng thứ tự) vào dãy A. Do lỗi thiết bị, có thể xảy ra các tình huống: một học sinh quét 2 lần (dữ liệu trùng), hoặc số lượt quét không đủ để phủ hết toàn bộ n học sinh.

Hãy thiết kế và viết chương trình (có thể tận dụng lại các hàm con đã học ở Nhiệm vụ 1 và phần Vận dụng: sapxep, kiểm tra trùng bằng hai vòng lặp lồng nhau, kiểm tra hoán vị) để phân loại kết quả điểm danh theo đúng ba trường hợp sau, theo thứ tự kiểm tra:

  • Nếu trong dãy A có ít nhất hai lượt quét trùng mã học sinh → in ra TRUNG.
  • Ngược lại, nếu không có trùng và dãy A (sau khi sắp xếp) đúng là dãy 1, 2, ..., n (đủ toàn bộ học sinh, mỗi người quét đúng 1 lần) → in ra DU.
  • Ngược lại (không trùng nhưng chưa đủ toàn bộ n học sinh) → in ra THIEU.

Input:

  • Dòng 1: số nguyên n (tổng số học sinh của lớp).
  • Dòng 2: số nguyên m (số lượt quét mã QR ghi được).
  • Dòng 3: m số nguyên cách nhau bởi khoảng trắng, là mã học sinh theo thứ tự các lượt quét.

Output: in ra đúng một trong ba chuỗi TRUNG, DU hoặc THIEU.

InputOutputGiải thích
5
5
3 1 4 5 2
DUKhông trùng, đủ 5 học sinh 1..5
5
5
3 1 4 3 2
TRUNGMã 3 quét 2 lần
5
4
3 1 4 2
THIEUKhông trùng nhưng chỉ có 4/5 lượt quét
5
5
3 1 4 6 2
THIEUKhông trùng, đủ 5 lượt nhưng có mã 6 không hợp lệ, thiếu mã 5
#làm mịn dần#hàm con#kiểm tra trùng#hoán vị#tổng hợp#category:danh_gia#difficulty:analyzing

Giáo viên giao bài này cho lớp, học sinh nộp bài trực tuyến và được chấm tự động.

Giáo viên đăng nhập để giao bài