Matematické Fórum

Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.

Nástěnka
22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.

Nejste přihlášen(a). Přihlásit

#1 22. 08. 2009 19:16

kima
Zelenáč
Příspěvky: 3
Reputace:   
 

pascal

cawte. potrebovala by som pomoc s tymto prikladom.
luka ma tvar NxN na kazdom policku rastie kvietok, kt. je obodovany (jeho krasa sa boduje)
po luke skace konik a moze sa pohnut na ine policko luky iba ak sa jedna suradnica lisi od druhej prave o jednu a v druhej o viac ako jednu. a hodnota kvietku musi byt vacsia ako ta predchadzajuca.

takze vstup: v prvom riadku je cele cislo N. v druhom su dve cele cisla R a C, kt. predstavuju zaciatocnu poziciu konika. nasleduje N riadkov po N celych cisel. su v rozsahu od 1 po milion a predstavuju krasu jednotlivych kvietkov.
na vystupe je v jednom riadku jedno cele cislo, kt. predstavuje pocet kvietkov, na kt. konik stupil.

pre nazornost

input          output
4                4
1 1
1 2 3 4
2 3 4 5
3 4 5 6
4 5 6 7 



lebo zacina na (1,1) potom ide na (2,3), (4,2), a (3,4)
riesila som to uz velakrat a stale mi to nevychadza. musim program poslat na otestovanie, a tam mi to nejde, hoci doma mi urobi to, co ma. dakujem vopred kazdemu, kto sa mi pokusi pomoct s riesenim.

Offline

  • (téma jako nevyřešené označil(a) Dana1)

#2 22. 08. 2009 19:43

Kondr
Veterán
Místo: Linz, Österreich
Příspěvky: 4247
Škola: FI MU 2013
Pozice: Vývojář, JKU
Reputace:   38 
 

Re: pascal

↑ kima:A co se chce po nás? Pokud chceš vědět, proč Tvůj program nefunguje, tak dej zdroják buď sem nebo třeba na http://uloz.to a možná na něco příjdeme.

Taky mi trochu schází informace o tom, kam má koník dojít. Nebo má skákat tak dlouho, jak je to možné?


BRKOS - matematický korespondenční seminář pro střední školy

Offline

 

#3 22. 08. 2009 19:46

kima
Zelenáč
Příspěvky: 3
Reputace:   
 

Re: pascal

↑ Kondr:
ano, ma skakat dovtedy, kym je to mozne.  ten moj program som uz uplne dokazila. snazila som sa tam to opravovat jak sa dalo, ale nejde a uz tam je vsetko domylene. bola by som rada, keby niekto to mohol vyriesit. hlavne, mam jeden velky problem s tym, ze ako sa nacitavaju udaju z klavesnice, ak maju byt v jednom riadku oddelene medzerou. som vzdy pouziva iba read alebo readln, o inom sposobe neviem.....

Offline

 

#4 22. 08. 2009 20:21

kima
Zelenáč
Příspěvky: 3
Reputace:   
 

Re: pascal

↑ kima: prosim prosim velmi to potrebujem

Offline

 

#5 23. 08. 2009 13:42

Mephisto
Příspěvky: 164
Reputace:   
 

Re: pascal

Hele, abych tomu rozumněl: ty chceš teda najít pro koníka cestu, aby mohl skákat maximální možný počet políček? Tzn. je to příklad na rekurzi, ok?

Offline

 

#6 22. 03. 2011 23:07

Daniela188
Zelenáč
Příspěvky: 3
Reputace:   
 

Re: pascal

Ahojte :) Chcela by som sa spytat ako ste spominany problem vyriesili. Lebo niesom si ista v podobnom zadani,

Offline

 

#7 23. 03. 2011 00:32

Jookyn
Místo: Mar. Lázně / Praha
Příspěvky: 143
Reputace:   11 
 

Re: pascal

Tak dá se to řešit algoritmem založeném na prohledávání do hloubky (backtracking).

Pascal už jsem dávno zapomněl, tak to napíšu v nějakym pseudokódu. Pro rozumný použití by to ještě chtělo doladit (např ty globální proměnné atd).

function konik(x,y,cislo_tahu,cesta){
  if(cislo_tahu > maximalni_cislo_tahu){
    maximalni_cislo_tahu = cislo_tahu
    maximalni_cesta = maximalni_cesta + "(x,y),"
  }
  dostupna_pole = pole_kam_muzu_jit(x,y)
  foreach(mozne_pole in dostupna_pole){
    konik(mozne_pole.x, mozne_pole.y, cislo_tahu+1,cesta + "(x,y)")
  }
}

A celý se to zavolá takhle:

maximalni_cislo_tahu = 0
maximalni_cesta = ""
konik(startovniX, startovniY, 0, "")

a výsledek pak bude v

maximalni_cislo_tahu a maximalni_cesta. Neimplementoval jsem funkci pole_kam_muzu_jit, ale tam nebude nic moc težkýho, vezme všechny pole, který připadají v úvahu a vrátí je v poli/kolekci.

Snad jsem tam takhle narychlo nic nezmršil...

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson