.campion
conectare | înregistrare | căutare
Pagina principală » Probleme » benzina2

ultima problemă
grupă: mică
sursă: OMI 2016
ultimul articol
autor: Prof. Radu Vişinescu
ultimul software
autor: Prof. Emanuela Cerchez
benzina2


Timp maxim de execuţie / test:
1.2s
Memorie totala disponibilă / stivă:
6MB / 1MB

În ţara lui Scania camioanele primesc benzină pe şosele în loc să consume. O şosea de x km îi umple lui Red rezervorul cu x litri de benzină. Red porneşte din oraşul A şi vrea să ajungă în oraşul B cu camionul. Deoarece Neck cel grăbit vrea să ia toată benzina din rezervorul camionului lui Red în canistre de K litri, rezervorul trebuie să conţină un număr de litri divizibil cu K. Oraşele sunt numerotate de la 1 la N, iar între acestea există M şosele bidirecţionale. Oraşele A şi B sunt printre cele N oraşe.

Cerinţă

Găsiţi drumul de lungime minimă dintre oraşele A şi B cu proprietatea că rezervorul este gol la plecare (din A) şi va conţine la sosire (oraşul B) un număr de litri divizibil cu K.

Date de intrare

Fişierul de intrare benzina2.in conţine pe prima linie numerele naturale N K A B cu semnificaţia din enunţ. Pe următoarea linie este numărul M. Pe următoarele M linii se află câte trei numere naturale x y k cu semnificaţia că între oraşele x şi y este o şosea de k kilometri.

Date de ieşire

Fişierul de ieşire benzina2.out va conţine pe prima linie distanţa minimă a unui drum cu proprietatea cerută. Pe a doua linie se găseşte un drum cu proprietatea cerută, care este minim lexicografic, dacă sunt citite orașele de pe respectivul drum pornind de la B spre A. Drumul este specificat prin succesiunea nodurilor care îl formează de la A la B, separate prin spații.

Restricţii

Întotdeauna există soluţie pentru datele de test.
1A, BN5000
1M10000
1k300
1K50

Exemple

benzina2.inbenzina2.out
3 2 1 3 2 1 2 1 2 3 1 2 1 2 3

autor: Dan Dragomir
propunător: Stud. Vlad Manea
FII
vlad.c.manea@gmail.com
Articole recomandate
Probleme recomandate
De la FII Competition 2011: lipsa, reducere, viena, sir9, sablon2, fibgcd, acoperire, razboi, safeu, centrala, bradut2, capra, agendatelefonica, cds, micro, wg
Despre graf: gropi, tgv, matrice2, miniasm, picnic, mere, circuit, soldati, arce, conflicte, desen, robot, furtuna, net, cuvinte, excursie, cadere, pioni, reinvent, kreg, flood, croco, johnie, matrice, arthur, kimberley, ro, sol, caravane, bete, honest, police, pcod, zmeu, auto2, grazing, datorii, trafic, sponsori, monede1, apm, bile1, caini, masina1, bomboane, turn1, shgraf, paintball, program1, tgraf, kgb, algola, felinar, joc6, tric, homeless, promo, turism, casute, joc10, prieteni1, traseu, zapezi, litoral, lover, trip, garaj, ziduri, tv, pact, echipe1, vitale, spion, trasee, bcolor, scara2, lant, ab3, soc, team, gard, rsp, graf, mexc, dep, albinuta1, atac2, cabane, drumuri, tj, grade, jungla, lanterna, magic5, coment, urgenta, fazan, lanturi, cfr, site, traseu1, trmv, graphgame, minuni, telefon, ubergraf, carray, pestera, chei, arbgraf, war, fluviu, drumuri1, entries, ubuntzei, pack, fotbal1, pamant, dag, razboi, wg, neconex, asfalt1, kubus2, module, progresii, dfs, prieteni3, megascoala, grafxy, dineu, vot1, biperm, drumuri2, nrgraf, cristal, cartite, copaci3, dragoni, nuclee
Despre drum minim: miniasm, robot, furtuna, excursie, arthur, bete, zmeu, trafic, masina1, bomboane, traseu, litoral, lover, trip, scara2, team, gard, pitici1, base3, coach, lanturi, trmv, pestera, fluviu, ubuntzei, razboi, kubus2, megascoala, dragoni
surse trimise | ajutor