Jā, taisnība.
Hmm.
Bet padomāsim, kā ir ātrāk.
Katram ciparam ir, teiksim, kādas padsmit (pieņemsim, 15) iespējas, kā to iegūt sareizinot divus citus ciparus. Tādā gadījumā, pie pašiem sliktākajiem apstākļiem, kad A ir visas zvaigznītes un vispār nekādi nesokas uzminēt pareizo kombeni...
Sanāk (10*15) salīdzināšanas katram ciparam, bet kopā 150^a, kur a ir A virknes garums. jau 150^3 pārsniedz 3 miljonus, kas ir aptuveni tikpat, cik pie pilnās pārlases, ja ir izmantoti visi 10 burti, bet nav zvaigznīšu. Pie pilnās pārlases, ja būtu visur tikai zvaigznītes, sanāktu 10^b * 10^c, kas būtu tikai viens miljons, ja B un C katrs sastāv no 3 zvaigznītēm.
Viennozīmīgi, ja ir galīgi draņķīga situācija, tad pilnā pārlase rullē. Bet man ir čujs, ka pie standartīgākām situācijām, kur atrisinājums ir iespējams, un nav arī daudz zvaigznīšu, labāk strādātu tas algoritms, kas no otra gala ņemās, jo tur jau pašā sākumā tiktu izslēgtas daudzas nederīgas situācijas. Un galu galā, ja ir daudz zvaigznīšu, tad, visticamāk, ir arī daudz iespējamo atrisinājumu, tā kā maz ticams, ka nāksies izskatīt cauri nezin-cik tur variantu, lai nonāktu pie atbildes.
Tobiš, gribēju teikt, ka otrs variants, tas, kas nav pilnās pārlases variants, tiecas uz atbildi mērķtiecīgāk, pa ceļam atmetot veselus zarus ar nepareizajām atbildēm.
(Lasīt komentārus)
Nopūsties: