메인 콘텐츠로 건너뛰기
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. Vpeta drevesa
  4. Prenos

Prenos

완료 조건
Due: 일요일, 12 11월 2023, 11:59 PM

Prenesti želimo podatke o $K$ zemljevidih, ki so oblike pravokotne mreže z $N$ vrsticami in $M$ stolpci. Vsi zemljevidi so enakih dimenzij, razlikujejo pa se po svoji vsebini. Vsebino vsake celice zemljevida bomo predstavili z nekim ascii znakom s kodo med 33 in 126 (printable characters).

Zemljevide bomo pošiljali enega za drugim v poljubnem vrstnem redu. Pri tem lahko zemljevid $z$ pošljemo na dva načina. Pošljemo lahko celoten opis zemljevida $z$, kar zahteva prenos $NM$ bajtov. Druga možnost je, da izberemo nek že prenesen zemljevid $z'$ in pošljemo samo podatke o tem, kako se nov zemljevid $z$ razlikuje od $z'$. Za tako pošiljanje potrebujemo $d(z,z') X$ bajtov, kjer je $X$ vnaprej podana cena pošiljanja posamezne spremembe, $d(z,z')$ pa število istoležnih celic, v katerih se zemljevida $z$ in $z'$ razlikujeta.

Omejitve podatkov:

  • $1 \leq K \leq 1000$
  • $1 \leq N,M \leq 10$
  • $1 \leq X \leq 100$

Vhodni in izhodni podatki:

V prvi vrstici so s presledkom ločena števila $K$, $N$, $M$ in $X$. Sledijo opisi vseh $K$ zemljevidov, ki se začnejo s prazno vrstico, čemur sledi $N$ vrstic z nizi dolžine $M$.

Izpišite najmanjšo ceno prenosa vseh zemljevidov.

Primer vhoda:

6 2 3 2

AA.
.BC

BAC
CBC

...
...

.A.
.BC

BA.
.BC

A..
...

Pravilen izhod:

22

Eden od načinov prenosa je sledeč:

  • Prenesemo tretji zemljevid (cena 6).
  • Prenesemo šesti zemljevid kot razliko do tretjega (cena 2).
  • Prenesemo prvi zemljevid (cena 6).
  • Prenesemo četrti in peti zemljevid kot razliko do prvega (obakrat cena 2).
  • Prenesemo drugi zemljevid kot razliko do petega (cena 4).
손님 계정으로 접속 (로그인)
Get the mobile app
Moodle 제공
Obvestilo o avtorskih pravicah