Olimpiada informatyczna, niezrozumiały wynik

0

Witam,

Jeśli umieściłem temat w złym dziale to przepraszam, ale nie do końca wiedziałem gdzie go wstawić.

Otóż mamy zadanie:
http://www.oi.edu.pl/static/attachment/20110704/oi17.pdf
Klocki - str. 117

Napisałem własny algorytm który rozwiązuje ten problem i podczas testowania go na danych które można znaleźć tutaj:
http://www.oi.edu.pl/l/17oi_ksiazeczka/
"XVII OI testy i rozwiązania - zad. KLO (II etap) (4.3 MB)"

dostaje inny wynik niż teoretycznie powinien być. Otóż dla danych:
25 1
9 6 7 9 10 9 10 6 9 9 7 9 13 7 9 5 9 12 12 7 7 6 10 11 15
10

Dostaje 12, natomiast powinno być to 8. Nie potrafie zrozumieć dlaczego tylko 8, spokojnie można przełożyć te klocki tak aby było ich więcej niż 8, oczywiście zgodnie z treścią zadania.

0

Hmm, mógłbyś przedstawić przykładowy sposób jak to można przestawić do 12 klocków, bo mi nie idzie wymyślenie?

Wziąłeś pod uwagę że

  • Klocek można przełożyć tylko na sąsiedni słupek?
  • Liczą się kolejne słupki wyższe niż k?
0

W treści nigdzie nie doczytałem, że liczą się kolejne słupki wyższe niż "k". Czyli moge przestawiać ze słupka o wysokości większej niż "k" na sąsiedni słupek i nie jest sprecyzowane czy ten sąsiedni ma być niższy czy wyższy niż ten z którego przestawiamy oraz wyższy lub niższy niż k. Chyba, że źle coś zrozumiałem. Jedyne co jest sprecyzowane to zastrzeżenie, że klocki można brać tylko ze słupka którego wysokość przekracza "k".

0
Alt napisał(a)

W treści nigdzie nie doczytałem, że liczą się kolejne słupki wyższe niż "k".

Chodzi mi o to:

zadanie napisał(a)

Podał mu liczbę k i poprosił, żeby tak poprzestawiał klocki, aby jak najwięcej kolejnych słupków miało wysokość przynajmniej k klocków.

Tak czy inaczej jeśli masz jakieś rozwiązanie zgodne z treścią zadania które daje 12 klocków to wklej tutaj, to by oszczędziło gdybania gdzie Ty/test się możecie mylić...

0

Ja to zrozumiałem tak, że należy je przestawiać zgodnie z zasadami aby otrzymać jak najwięcej słupków których wysokość jest co najmniej "k". Czyli ja widzę to tak:
dane wejściowe:
9 6 7 9 10 9 10 6 9 9 7 9 13 7 9 5 9 12 12 7 7 6 10 11 15

9 6 7 9 10 9 10 6 9 9 7 9 10 10 9 5 9 12 12 7 7 6 10 11 15
9 6 7 9 10 9 10 6 9 9 7 9 10 10 9 5 9 12 12 7 7 6 10 16 10
9 6 7 9 10 9 10 6 9 9 7 9 10 10 9 5 9 12 12 7 7 6 16 10 10
9 6 7 9 10 9 10 6 9 9 7 9 10 10 9 5 9 12 12 7 7 12 10 10 10
9 6 7 9 10 9 10 6 9 9 7 9 10 10 9 5 9 12 12 7 7 12 10 10 10
...

i już jest 10 taki słupków których wysokość jest większa niż "k".

Najprawdopodobniej nie zrozumiałem o co chodzi z tym "kolejnych". Jak to rozumieć ?

1

Ja to zrozumiałem tak, że należy je przestawiać zgodnie z zasadami aby otrzymać jak najwięcej słupków których wysokość jest co najmniej "k"

jak najwięcej kolejnych słupków miało wysokość przynajmniej k klocków.
Z treści wynika że liczą się tylko kolejne słupki, czyli masz znaleźć najdłuższy możliwy ciąg sąsiadujących ze sobą słupków wyższych niż k. Czyli:

jakieś tam dane napisał(a)

8 5 10 4 9 10 10 8 10

Tu są cztery słupki wysokie na 10, ale najdłuższy ciąg kolejnych słupków wysokich na 10 wynosi 2.

0

Teraz wszystko jasne. Dzięki za odpowiedź.

0 użytkowników online, w tym zalogowanych: 0, gości: 0