Inbox for mugurel_ionut@yahoo.com    Yahoo! - My Yahoo!     Options - Sign Out - Help
Mail    Addresses    Calendar    Notepad   

www.newaydirect.com
Download Attachments
    Prev | Next | Inbox
Date: Thu, 15 Mar 2001 08:44:56 -0800 (PST)
From: Cristian Francu <cristian@google.com>  | Block Address | Add to Address Book
To: probleme@ldc.ro
Subject: Re: patrascu - O problema de concurs

On Thu, 15 Mar 2001, Radu Stefan wrote:
> > Se da un lac de MxN patratele, acoperit cu gheata, exceptand unele
> > patratele care se citesc din fisierul de intrare. O broasca trebuie 
sa
> > mearga de la (1,1) la (M,N) si sa se intoarca inapoi. Ea face 
sarituri
> > ca calul la sah. Evident, ea nu poate pasi decat pe gheata. 
Problema e
> > ca unde paseste ea se sparge gheata, deci nu poate trece printr-o
> > patratica de doua ori. Aflati itinerariul cu numar minim de 
sarituri.
> > [se cere nr. min de mutari; reconstituirea daca aveti o zi ploioasa 
la
> > dispozitie]
> > 
> > Problema s-a mai dat, dar noutatea e ca de data asta nu se accepta
> > back-uri (M,N<=100 de ex.).
> 
>   Singura rezolvare care mi-a venit in minte e oarecum euristica :
> faci un drum minim normal dupa care cresti costul de trecere prin 
> patratelele deja folosite cu un coeficient oarecare, si tot faci 
> drumuri minime variind costurile patratelelor dupa cum te taie capul.
>   S-ar putea sa se poata demonstra ca pentru anumiti coeficienti iti 
> da rezultatul corect.

Problema seamana cu una data la o olimpiada internationala, care zicea 
ca
se da o retea de orase in plan, unele dintre ele au sosele intre ele. 
Se
cere sa pleci din orasul cel mai de la est (E), sa ajungi in orasul cel
mai de la vest (V), iar apoi sa te intorci in orasul de la est trecind
prin toate orasele o singura data. Evident, drumul minim. Problema asta 
se
rezolva cu programare dinamica, construind subprobleme de forma: P(i,j)
este drumul minim pornind din orasul i, mergind spre est pina la nodul 
E
si apoi inapoi la orasul j, trecind prin orase diferite si acoperind 
toate
orasele intre E si i sau j.

Am senzatia ca si problema asta se poate rezolva construind subprobleme 
de
genul asta: daca notam cu A nodul de plecare si cu Z locul destinatie, 
subproblemele vor fi P(i, j) = drumul minim de la i la j trecind prin A 
si
fara a trece de doua ori prin acelasi nod. Sa presupunem ca un astfel 
de
drum minim arata asa:

A-------i
\
 -----k-j  (k vecin al lui j)

Atunci, daca nu ma insel, A(k, i) este si el minim (incercati sa
demonstrati ca asa e). Caz in care devine posibila programarea 
dinamica.

Odata calculate toate P(i, j) ci i diferit de j solutia este usor de
gasit: este min { P(Z, k) + 1 } unde k vecin al lui Z.

Ma insel? Greii de pe lista ce zic?

Cristi

     Prev | Next | Inbox
Download Attachments

Yahoo! Messenger - Send instant messages to friends!
Address Book · Alerts · Auctions · Bill Pay · Bookmarks · Briefcase · Broadcast · Calendar · Chat · Classifieds · Clubs · Companion · Domains · Experts ·Games · Greetings · Home Pages · Invites · Mail · Maps · Member Directory · Messenger · My Yahoo! · News · PayDirect · People Search · Personals · Photos · Shopping · Sports · Stock Quotes · TV · Travel · Weather · Yahooligans · Yellow Pages · more...

Privacy Policy- Terms of Service - Guidelines
Copyright © 1994-2001 Yahoo! Inc. All rights reserved.