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 26. 10. 2011 11:06

vichjiri
Zelenáč
Příspěvky: 7
Reputace:   
 

Včela na výletě

Ahoj Matematici a Programátoři!

Cvičící na jazyk Python nám dnes zadal úlohu, která je opravdu oříškem.

Code:

Poslední úkol z kategorie obecných programátorských problémů vás zavede do říše hmyzu. 
Představte si plástev ve včelím úle - tvoří jí pravidelné šestiúhelníky. 
Z jednoho takového vyrazí včelí larva na zdravotní procházku. 
Putuje pomalu a postupně projde n šestiúhelníků. 
Na večeři musí být zase doma, takže její cesta musí končit tam, kde vyšla. 
A protože je malá a moc toho ještě neujde, tak nmax = 14.

Vaším úkolem je napsat program který pro dané n co nejrychleji určí, kolik takových cest existuje.

Vzorová a testovací data:
    * pro n = 2 existuje 6 cest
    * pro n = 4 existuje 90 cest

Pokud by někdo z Vás vědel jak na to, budu moc rád, když mě alespoň trošku nakopnete.

Díky moc za každou radu.

Jirka

Offline

 

#2 26. 10. 2011 13:49

Lumikodlak
Místo: Praha
Příspěvky: 212
Pozice: Programator nebo tak neco :-)
Reputace:   19 
 

Re: Včela na výletě

Nevim, jestli je to nejlepsi reseni - Slo by v kazdem kroku si ukladat, kolik na ktere policko je moznych cest:

Code:

0:     0 0 0 0  
      0 0 0 0 0  
     0 0 0 0 0 0  
    0 0 0 1 0 0 0  
     0 0 0 0 0 0  
      0 0 0 0 0  
       0 0 0 0  

1:     0 0 0 0  
      0 0 0 0 0  
     0 0 1 1 0 0  
    0 0 1 0 1 0 0  
     0 0 1 1 0 0  
      0 0 0 0 0  
       0 0 0 0  
               
2:     0 0 0 0  
      0 1 2 1 0  
     0 2 2 2 2 0  
    0 1 2 6 2 1 0  
     0 2 2 2 2 0  
      0 1 2 1 0  
       0 0 0 0  

3:     1 3 3 1  
      3 6 6 6 3  
     3 6 15156 3  
    1 6 158 156 1  
     3 6 15156 3  
      3 6 6 6 3  
       1 3 3 1  

4:     ? ? ? ?  
      ? ? ? ? ?  
     ? ? ? ? ? ?  
    ? ? ? 90? ? ?  
     ? ? ? ? ? ?  
      ? ? ? ? ?  
       ? ? ? ?

(ta dvouciferna cisla ve 3. a 4. kroku se mi moc nepovedla :-) otazniky jsou nejaka cisla, nechtelo se mi to dopocitavat :-))
(Pri kazdem kroku je mozne jit na kazde okolni policko, takze hodnota policka (pocet moznosti, jak se na nej dostat) se pricte ke vsem okolnim polickum (puvodni hodnota policka se odecte)).

Ukolem je napsat program, ktery to urci co nejrychleji - to, co jsem tu popsal, jde zjednodusit/zrychlit, jestli te nenapada jak, tak se jeste ptej :-) psal jsi, ze budes rad, kdyz te alespon nekdo nakopne.

Jestli nekdo vi o necem celkove jednodussim/rychejsim, at da vedet :-)

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson