메인 콘텐츠로 건너뛰기
Testna Učilnica FRI 25/26
  • 홈
  • 캘린더
  • 더 보기
Sitewide search 닫기
검색 입력 전환
한국어 ‎(ko)‎
English ‎(en)‎ Slovenščina ‎(sl)‎ Македонски ‎(mk)‎ Русский ‎(ru)‎ 한국어 ‎(ko)‎
손님 계정으로 접속
로그인
Testna Učilnica FRI 25/26
홈 캘린더
모두 펼치기 모두 접기
  1. 강의 현황
  2. aps1uni
  3. Abstraktni podatkovni tipi
  4. Stoli

Stoli

완료 조건

Za posebno predstavo so v gledališču razporedili $N$ stolov v polkrogu okoli odra. Ta polkrog oz. vrsto stolov bomo predstavili kar z nizom $s$, kjer posamezen znak $s_i$ označuje, ali je $i$-ti stol že zaseden ali ne. Znak '*' predstavlja zaseden stol, znak '.' pa prostega. V gledališče bo zaporedoma prišlo še $K$ obiskovalcev. Vsak obiskovalec se bo usedel na stol, ki je čim bolj oddaljen od najbližjega zasedenega stola (ali konca vrste - predstavljamo si lahko, da je na vsakem robu dodaten že zaseden stol). Če je več stolov z enako oddaljenostjo do najbližjega zasedenega stola, bo obiskovalec med njimi zasedel tistega, ki ima drugi najbližji zaseden stol čim bolj oddaljen. Če je še vedno več možnih stolov, bo zasedel tistega z najmanjšim indeksom $i$. Določite končno stanje zasedenih stolov po prihodu $K$ obiskovalcev v enaki obliki, kot so bili podani na vhodu.

Omejitve podatkov:

  • $1 \leq N \leq 10^6$
  • $1 \leq K \leq 10^5$
  • Prostih stolov bo dovolj za vseh $K$ novih obiskovalcev.

Vhodni in izhodni podatki:

V prvi vrstici je podano število stolov $N$ in število novih obiskovalcev $K$: V drugi vrstici se nahaja niz $s$, ki opisuje zasedenost stolov od $s_1$ do $s_N$.

Izpišite končno zasednost stolov v enaki obliki, kot je bila podana na vhodu.

Primer vhoda:

21 4
*.*...*......**......

Pravilen izhod:

*.*.*.*..*.*.**..*...

Naslednji niz prikazuje vrstni red posedanja novih obiskovalcev s števkami: *.*.3.*..1.4.**..2...

손님 계정으로 접속 (로그인)
Get the mobile app
Moodle 제공
Obvestilo o avtorskih pravicah