Viết chương trình chạy vô thời hạn báo cáo có bao nhiêu phiên bản hiện đang chạy. Mỗi phiên bản của chương trình cũng phải báo cáo thứ tự được mở ra khỏi tất cả các phiên bản hiện đang chạy khác.
Thí dụ
Người dùng khởi chạy chương trình lần đầu tiên - chúng tôi sẽ gọi Instance 1. Instance 1 hiển thị 1/1
, vì đây là phiên bản đầu tiên được khởi chạy trong tổng số 1 phiên bản hiện đang chạy.
Trong khi Instance 1 đang chạy, người dùng khởi chạy chương trình lần thứ hai để trở thành Instance 2. Instance 1 hiện hiển thị 1/2
, là phiên bản đầu tiên trong tổng số 2 phiên bản hiện đang chạy. Trường hợp 2 hiển thị 2/2
, vì đây là phiên bản thứ hai trong tổng số 2 phiên bản hiện đang chạy.
Giả sử người dùng tiếp tục sinh ra nhiều phiên bản hơn cho đến khi có 5 người trong số họ. Theo thứ tự khởi chạy, đầu ra của chúng là : 1/5
2/5
3/5
4/5
5/5
.
Bây giờ, giả sử người dùng quyết định chấm dứt Instance 3. Instance 4 sau đó trở thành Instance 3 mới và Instance 5, Instance 4 mới, bởi vì chúng lần lượt là các phiên bản thứ ba và thứ tư đã được đưa ra trong tổng số 4 trường hợp. Vì vậy, thay đổi đầu ra của mỗi trường hợp sẽ như sau:
1/5
→1/4
2/5
→2/4
3/5
→ (Chấm dứt)4/5
→3/4
5/5
→4/4
Quy tắc
- Bạn có thể xuất hai số (số thể hiện, tổng số thể hiện) ở bất kỳ định dạng hợp lý nào.
- Bất cứ khi nào một phiên bản được khởi chạy hoặc kết thúc, tất cả các phiên bản khác phải cập nhật kết quả đầu ra tương ứng của chúng trong vòng 100 mili giây.
- Nếu bạn chọn cập nhật đầu ra bằng cách in sang một dòng mới (hoặc định dạng đầu ra "nối thêm" khác, thay vì thay thế), bạn phải chỉ in khi số lượng phiên bản thay đổi, và không phải lúc nào khác.
- Đây là mã golf. Chương trình ngắn nhất trong byte thắng.
- Trong câu trả lời của bạn, bạn được khuyến khích chỉ định những gì người dùng phải làm để mở nhiều hơn một thể hiện và / hoặc ghi lại một đoạn ghi hình để chứng minh.