Trang analytics cần theo dõi số lần người dùng nhấn nút. Viết hàm factory makeCounter(initial, step) trả về một object gồm 3 phương thức: inc() tăng counter theo step, dec() giảm theo step, value() trả về giá trị hiện tại. Yêu cầu: dùng closure, biến đếm KHÔNG được truy cập trực tiếp từ ngoài (chỉ thông qua method).
Đọc input: dòng 1 chứa initial step. Dòng 2 chứa chuỗi lệnh (mỗi ký tự là một lệnh): '+' gọi inc, '-' gọi dec, '?' in ra value() (mỗi giá trị trên 1 dòng). Số lệnh '?' >= 1.
Dòng 1: 'initial step' (2 số nguyên). Dòng 2: chuỗi gồm các ký tự '+', '-', '?'.
-10^6 <= initial <= 10^6; 1 <= step <= 1000; 1 <= len(chuỗi lệnh) <= 1000
Mỗi lệnh '?' in 1 dòng giá trị counter hiện tại.
Ví dụ:
Đầu vào:
0 1
+++?--?+?
Đầu ra:
3
1
2
Giải thích:
Đang tải editor...