Herkules a hydry

Translate/Share:

V dávnych časoch Herkules bojoval so štvorhlavou hydrou. To by nebolo zaujímavé, keby hydra nebola skoro nesmrteľná.
Keď jej Herkules odťal jednu hlavu neostala jedna trojhlavá ale dve trojhlavé hydry. Keď potom odťal hlavu jednej z tých trojhlavých, nevznikla jedna dvojhlavá hydra ale tri dvojhlavé. Keď odťal hlavu jednej z dvojhlavých, vznikli z nej štyri jednohlavé.
Pri takomto postupe by po treťom odseknutí hlavy, boli z pôvodnej štvorhlavej hydry jedna trojhlavá, dve dvojhlavé a štyri jednohlavé.

Všeobecne:
Keď Herkules odtne hlavu n-hlavej hydre, vznikne nie (n-1)hlavá hydra ale (K+1) (n-1)hlavých hydier. Kde K je počet hláv, ktoré Herkules hydre/hydrám už odťal.
Keď odtne hlavu jednohlavej hydre, táto hydra zanikne v ohni pekelnom. Samozrejme K sa zvýši – hlavu odťal.

Vašou úlohou je nájsť najlepší a najhorší postup, t. j. koľkokrát musí Herkules odťať hlavu, ak si to dobre premyslel a nechce sa trápiť, a koľkokrát ak si to dobre premyslel a chce čo najviac trénovať.
Ako dlho mu to bude trvať v jednotlivých variantoch, ak každú sekundu odtne jednu hlavu?
Nájsť postupy nie veľký problém ale spočítať trvanie už áno. Preto malá pomoc: Minizápas bude trvať niečo nad minútu. Maxi zápas niečo “málo” nad 700 000 rokov.

Pre zaujímavosť, ak by na začiatku boli tri trojhlavé hydry, tak by počet  seknutí pri najdlhšom postupe bol \( \approx 1,0236\times 10^{167696}\), t. j. číslom majúcim 167 696 miest. (Počet atómov vo viditeľnom vesmíre je približne \( 10^{80}\), teda číslo majúce iba 80 miest.)

Riešenie

Najrýchlejší postup: Odťať vždy hlavu najhlavatejšej hydre

1-hlavé2-hlavé3-hlavé4-hlavéPočet odseknutých hláv (sekúnd)
00010
00201
03102
07003
56004
115005
184006
263007
352008
451009
5600010
000066

Najdlhší postup: Odťať vždy hlavu najmenej hlavatej hydre.

1-hlavé2-hlavé3-hlavé4-hlavéPočet odseknutých hláv (sekúnd)
00010
00201
03102
42103
02107
91108
011017
1901018
001037
0390038
40380039
0380079
81370080
03700161
1633600162
03600325
3273500326
03500653
6553400654
034001 309
1 31133001 310
033002 621
2 62332002 622
032005 245
5 24731005 246
0310010 493
10 495300010 494
0300020 989
20 991290020 990
0290041 981
41 983280041 982
0280083 965
83 967270083 966
02700167 933
167 9352600167 934
02600335 869
335 8712500335 870
02500671 741
671 7432400671 742
024001 343 485
1 343 48723001 343 486
023002 686 973
2 686 97522002 686 974
022005 373 949
5 373 95121005 373 950
0210010 747 901
10 747 903200010 747 902
0200021 495 805
21 495 807190021 495 806
0190042 991 613
42 991 615180042 991 614
0180085 983 229
85 983 231170085 983 230
01700171 966 461
171 966 4631600171 966 462
01600343 932 925
343 932 9271500343 932 926
01500687 865 853
687 865 8551400687 865 854
014001 375 731 709
1 375 731 71113001 375 731 710
013002 751 463 421
2 751 463 42312002 751 463 422
012005 502 926 845
5 502 926 84711005 502 926 846
0110011 005 853 693
11 005 853 695100011 005 853 694
0100022 011 707 389
22 011 707 39190022 011 707 390
090044 023 414 781
44 023 414 78380044 023 414 782
080088 046 829 565
88 046 829 56770088 046 829 566
0700176 093 659 133
176 093 659 135600176 093 659 134
0600352 187 318 269
352 187 318 271500352 187 318 270
0500704 374 636 541
704 374 636 543400704 374 636 542
04001 408 749 273 085
1 408 749 273 0873001 408 749 273 086
03002 817 498 546 173
2 817 498 546 1752002 817 498 546 174
02005 634 997 092 349
5 634 997 092 3511005 634 997 092 350
010011 269 994 184 701
11 269 994 184 70300011 269 994 184 702
000022 539 988 369 405