On 24 Jan 98 at 0:00, Gabor Legrady wrote:
> Van n darab dominonk, a szamozasuk 1..k-ig.
> El kell donteni, hogy a dominokbol kirakhato egy teljes sor.
> Pl:
>
> 1|5 5|8 8|7 7|3
Szerintem itt viszonylag keves variacio letezik, ugyhogy egy egyszeru
visszalepeses algoritmus megfelelo sebesseggel vegignezi az osszes
lehetoseget. Valami metanyelven:
for i=(1..k) {
lanc = new lancszem(.prev=null, .right=i);
generate_chain(lanc);
delete lanc;
}
proc generate_chain(chain) {
if domino_list_is_empty {
print_chain(chain);
} else {
domino = find_first_unused_domino(chain.right);
if domino != null do {
lanc = new lancszem(.prev=chain, .left=domino.left,
.right=domino.right);
mark_as_used(domino);
generate_chain(lanc);
mark_as_unused(domino);
delete lanc;
} while domino = find_next_unused_domino(domino, chain.right);
}
}
A dominok egy listaban valamilyen sorrendben vannak tarolva, ebbol a
find_first_unused_domino() keres egyet, kozben beforgatja ugy, hogy
a bal oldala legyen olyan, mint amit parameterul kapott. A
find_next... ugyanez, csak az elso parameterevel jelzett dominot
kovetok kozott keres csupan.
Akkor van teljes lanc, ha eljut a vezerles a print_chain-ig.
Megjegyzem, hogy a programban a new es a delete tokeletesen parban
hivodnak, ettol nem kell igazi dinamikus memoriakezelest csinalniuk,
stack-szeruen allokalhatnak helyet pl. egy tombben.
Istvßn
Ui: Picit hasonlo dolgot csinaltam nemreg "elesben": A lanyom hazi
feladata volt angolbol egy szo-toto kitoltese, vagyis amilyen beture
vegzodott a szo, olyannal kellett a kovetkezonek indulnia. Nehany
helyen voltak betuk kitoltve, es szavakat kellett talalni hozza,
amik pont beleillenek. A szo-lanc kb. 20 szobol allt. No, ezt linux
alatt nehany soros shell script-tel csinaltam (tele volt grep-pel) a
beepitett angol szo-lista felhasznalasaval, es egesz gyorsan kopte
egymas utan a megoldasokat, csak valogatni kellett, hogy lehetoleg
olyan szavak legyenek benne, amik a lanyom szokincsehez illenek :)
-- Istvan Marosi -- http://www.sch.bme.hu/~marosi --
-- Recosoft Ltd. -- mailto: --
|
On 24 Jan 98 at 0:00, Kovacs Antal wrote:
> B. Recognita
> Szinten 10.A. kerdezte (volna) a Recognitas szakembert.
Meg is talalt, valaszoltam is ra maganmail-ben.
> Tudomasom szerint kulon emberek foglalkoznak a szkennerelessel,
ez igaz
> a kep nyulasaval (X, Y szkennertol fuggoen nyulik a kep), a kepen
Ezt nem ertem, mire gondolsz? A kep normalis scannerekkel nem szokott
nyulni, ha meg nyulik, szerintem jobb scannert kell venni.
> elozetesen definialt formokkal, a betu image keressesel es
> magaval az OCR-rel.
Ez mar nem igaz, a betuk keresese es felismerese szet nem
valaszthato dolgok. Egyebkent a betuk keresese (szegmentalasnak
nevezzuk) sokszor sokkal nehezebb feladat, mint a jol szegmentalt
alakzatok felismerese.
> Szoval bonyolult egy kisse a tema. De az Aktiv Rekord Bt.
> pont ilyennel foglalkozik.
Mi is pont ilyennel foglalkozunk :)
Ha erdekli a tarsasagot a karakterfelismeres, szivesen irok rola.
Istvßn
-- Istvan Marosi -- http://www.sch.bme.hu/~marosi --
-- Recosoft Ltd. -- mailto: --
|