Напишіть нескінченно запущену програму, яка повідомляє про кількість запущених екземплярів. Кожен екземпляр програми повинен також повідомляти про порядок їх відкриття з усіх інших запущених екземплярів.
Приклад
Користувач запускає програму вперше - ми називаємо цей Екземпляр 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 мілісекунд.
- Якщо ви вирішили оновити вихід, надрукувавши новий рядок (або інший "додаючий" формат виводу; на відміну від заміни), ви повинні друкувати лише тоді, коли кількість екземплярів змінюється, а не в інший час.
- Це код гольфу. Виграє найкоротша програма в байтах.
- У своїй відповіді вам пропонується вказати, що повинен зробити користувач, щоб відкрити більше одного екземпляра та / або записати екранну трансляцію для демонстрації.