[Buổi 3][Củng cố rẽ nhánh][ADV] Bài 1: Cổng truy cập phòng lab


LÀM BÀI

Points: 100
Time limit: 1.0s
Memory limit: 256M

Author:
Problem types
Allowed languages
C++

Cổng truy cập phòng lab

Bối cảnh

Một phòng lab có chính sách ra vào khác nhau cho giảng viên và học viên. Thẻ truy cập là điều kiện bắt buộc; sau đó mỗi vai trò có khung giờ riêng. Với học viên, việc có người giám sát còn có thể mở rộng khoảng thời gian được phép vào.

Bài toán có nhiều điều kiện phụ thuộc nhau, nên cách giải rõ ràng nhất là xử lý điều kiện bắt buộc trước rồi tách từng vai trò thành các nhánh riêng.

Yêu cầu

Xử lý theo thứ tự:

  1. Nếu card = 0, luôn in DENY bất kể các dữ liệu còn lại.
  2. Nếu role = 1 (giảng viên), chỉ ALLOW khi giờ nằm trong [6,22].
  3. Nếu role = 2 (học viên), giờ phải nằm trong [8,20] và đồng thời thỏa một trong hai điều kiện: có giám sát (supervised = 1) hoặc giờ nằm trong [9,17].
  4. Các vai trò khác in DENY.

Input

Dữ liệu vào được cung cấp theo định dạng sau:

role hour card supervised.

Hãy đọc các giá trị theo đúng thứ tự và ý nghĩa đã mô tả trong đề bài.

Output

In kết quả theo đúng định dạng sau:

ALLOW/DENY.

Không in thêm lời giải thích, nhãn hoặc ký tự ngoài phần kết quả được yêu cầu.

Ràng buộc

hour 0..23, cờ 0/1.

Ví dụ 1

Input

1 6 1 0

Output

ALLOW

Giải thích ví dụ

Thẻ hợp lệ (card=1). Với role=1, hour=6, supervised=0, áp dụng đúng chính sách của vai trò này cho kết quả ALLOW.

Ví dụ 2

Input

2 8 1 0

Output

DENY

Giải thích ví dụ

Thẻ hợp lệ (card=1). Với role=2, hour=8, supervised=0, áp dụng đúng chính sách của vai trò này cho kết quả DENY.

Thông tin học tập

  • Buổi: B03
  • Concepts: dependent conditions, priority rules
  • Giới hạn kiến thức: B01-B03
  • Time limit: 1 second
  • Memory limit: 256 MB
  • Point: 100

Comments

There are no comments at the moment.

Zalo