เขียนโปรแกรมที่ทำงานอยู่เรื่อย ๆ เพื่อรายงานจำนวนอินสแตนซ์ของตัวเองที่กำลังทำงานอยู่ แต่ละอินสแตนซ์ของโปรแกรมควรรายงานลำดับที่เปิดจากอินสแตนซ์ที่กำลังทำงานอยู่ทั้งหมด
ตัวอย่าง
ผู้ใช้เปิดตัวโปรแกรมเป็นครั้งแรก - เราจะเรียกอินสแตนซ์นี้ว่า 1 อินสแตนซ์ 1 แสดง1/1
เนื่องจากเป็นอินสแตนซ์แรกที่เปิดใช้จากอินสแตนซ์ที่กำลังทำงานอยู่ทั้งหมด1อินสแตนซ์
ในขณะที่อินสแตนซ์ 1 กำลังทำงานผู้ใช้จะเรียกใช้โปรแกรมเป็นครั้งที่สองเพื่อกลายเป็นอินสแตนซ์ 2 ตอนนี้อินสแตนซ์ 1 จะปรากฏขึ้น1/2
โดยเป็นอินสแตนซ์แรกจากทั้งหมด2อินสแตนซ์ที่กำลังทำงานอยู่ อินสแตนซ์ 2 แสดงขึ้น2/2
เนื่องจากเป็นอินสแตนซ์ที่สองจากทั้งหมด2อินสแตนซ์ที่กำลังทำงานอยู่
สมมติว่าผู้ใช้ยังคงวางไข่เพิ่มเติมจนกว่าจะมี5คน 1/5
2/5
3/5
4/5
5/5
ในคำสั่งของการเปิดตัวเอาท์พุทของพวกเขาคือ
ตอนนี้ขอบอกว่าผู้ใช้ตัดสินใจที่จะยุติอินสแตนซ์ 3. อินสแตนซ์ 4 แล้วจะกลายเป็นอินสแตนซ์ใหม่ 3 และอินสแตนซ์ 5 อินสแตนซ์ใหม่ 4 เพราะพวกเขาเป็นลำดับที่สามและสี่กรณีที่จะมีการเปิดตัวออกมาจากสิ่งที่มีอยู่ในขณะนี้มีทั้งหมด4ตัวอย่าง. ดังนั้นการเปลี่ยนแปลงของแต่ละอินสแตนซ์จะเป็นดังนี้:
1/5
→1/4
2/5
→2/4
3/5
→ (ยกเลิก)4/5
→3/4
5/5
→4/4
กฎระเบียบ
- คุณสามารถส่งออกตัวเลขสองตัว (หมายเลขอินสแตนซ์, อินสแตนซ์รวม) ในรูปแบบที่เหมาะสม
- เมื่อใดก็ตามที่มีการเปิดใช้งานหรือยกเลิกอินสแตนซ์อื่น ๆ ทั้งหมดจะต้องอัปเดตผลลัพธ์ที่เกี่ยวข้องภายใน 100 มิลลิวินาที
- หากคุณเลือกที่จะอัปเดตผลลัพธ์โดยการพิมพ์เป็นบรรทัดใหม่ (หรือรูปแบบเอาต์พุต "ต่อท้าย" อื่น ๆ ที่ไม่ใช่การแทนที่) คุณต้องพิมพ์เฉพาะเมื่อจำนวนอินสแตนซ์เปลี่ยนแปลงและไม่ใช่เวลาอื่น
- นี่คือรหัสกอล์ฟ โปรแกรมที่สั้นที่สุดเป็นไบต์ชนะ
- ในคำตอบของคุณคุณควรระบุสิ่งที่ผู้ใช้ต้องทำเพื่อเปิดมากกว่าหนึ่งอินสแตนซ์และ / หรือบันทึก screencast เพื่อสาธิต