120 likes | 223 Views
CONCURSUL DE MOUNTAIN-BIKE “CARPAT RIDER”.
E N D
Începe cea de-a cincea ediție a concursului de mountain-bike pe traseul Hațeg-General Berthelot.La start se aliniază concurenți din Țara Hațegului, printre care și favoriții, câștigătorii edițiilor trecute…:Radu Pompei,Coman Marius,Basarabă Cătălin,Fucă Ovidiu.Printre aceștia se afla și mereu invinsul edițiilor trecute,Opârlescu Cristian,hotărât să intre in lista celor mai buni bike-ri.
O mulțime de spectatori asteaptă startul. Toți concurenții se aliniază la linia de pornire. Și iată că se aude și fluierul de start…Favoriții pornesc in frunte,cum era de așteptat.Se pare ca Opârlescu Cristian va trebui să improvizeze ceva pentru a se menține in lupta pentru podium. • Radu • Basaraba • Coman • Fuca
Deși se aflăîn grupul de primii 5,se pare că cei patru se distanțeaza considerabil de acesta.Se află la jumatatea traseului și nu se intrevede nicio speranță pentru el. În aceste momente are nevoie de o minune pentru a se putea apropia de cei patru.Dar ce se intamplă..??Se pare că liderul cursei a avut un accient…și este nevoit să abandoneze maratonul. Însă Opârlescu are nevoie de mai mult de atât pentru a se apropria de podium,lucru de care este conștient.
Dar iată un pronostic al ex-liderului Radu Pompei:”Opri va caștiga cursa…are asul asuns in mânecă…Încercand să-i sabotez bicicleta înainte de cursă am observat că el nu se preocupa de starea lui fizică sau de bicicletă…Ci avea pe masă o mulțime de caiete de informatică cu ajutorul cărora,pretind că, își organiza traseul complet al maratonului. Știu că poate pare bizară povestea, însă acest lucru îl va ajuta enorm și va avea un avantaj din momentul in care iși va folosi planul.De menționat ca am rămas impresionat de planul său incât am renunțat la sabotaj și am preferat să fotografiez harta acestuia…crezănd ca imi este de mai mare folos…”
Iată că după povestea lui Radu Pompei apare și punctul culminant al intrecerii….Opârlescu scoate din buzunar o hartăa traseului si uitându-se pe ea,zâmbește și pornește mai departe,dar fiind grăbit acesta pierde harta pe care o gasește ex-liderul Radu și o publică mulțimii…
Însă mulţimea este uimită de spusele lui Pompei,deoarece nu inţelege cum de la o hartă poate câstiga maratonul.Acesta le explică,că Opârlescu a determinat cel mai scurt drum dintre două localitaţi cu ajutorul programului c++ invaţat la informatică.
#include<stdio.h> #include<conio.h> #define pinf 10000 //pentru plus infinit, o valoare mare care nu exista int a[20][20],n,m; void citire_cost() { FILE *f; int i,j,x,y,c; f= fopen("roy_in.txt","rt"); if(f) printf("deschiderea a reusit"); else printf("eroare la deschidere!"); printf("\n"); fscanf(f,"%d",&n); fscanf(f,"%d\n",&m) //initializare matrice for(i=1;i<=n;i++) for(j=1;j<=n;j++) if(i==j) a[i][j]=0; else void descompun_drum(int i,int j) //realizeaza descompunerea portiunii de la i la j prin k {int ok=0,k=1; while(k<=n&&!ok) { if(i!=k&&j!=k) if(a[i][j]==a[i][k]+a[k][j]) { descompun_drum(i,k); descompun_drum(k,j); ok=1;} //g marcheaza daca se poate realiza descompunerea k++; } if(!ok) { printf(" %d ",j); } //cand "drumul" nu mai poate fi descompus afisez extremitatea finala } a[i][j]=pinf; for(i=1;i<=m;i++) {fscanf(f,"%d %d %d\n",&x,&y,&c); a[x][y]=a[y][x]=c;} fclose(f); } void afisare_mat() {for(int i=1;i<=n;i++) {for(int j=1;j<=n;j++) if(a[i][j]==pinf) printf(" - "); else printf("%4d ",a[i][j]); printf("\n"); } } void RoyFloyd() // roy floyd {for(int k=1;k<=n;k++) for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) if(a[i][j]>a[i][k]+a[k][j]) { a[i][j]=a[i][k]+a[k][j];} }
void scriu_drum(int nod_initial,int nod_final) // functia primeste ca parametri cele doua noduri pt care se determina optimul {if(a[nod_initial][nod_final]<pinf) { printf("lantul de la %d la %d are lungimea %d",nod_initial,nod_final,a[nod_initial][nod_final]); printf("\n un drum optim este: %d ",nod_initial); descompun_drum(nod_initial,nod_final); // apeleaza functia care afiseaza efectiv lantul } else printf("nu exista lant de la %d la %d ",nod_initial,nod_final); } void main() { int x,y; citire_cost(); printf("\nmatricea ponderilor \n"); afisare_mat(); RoyFloyd(); printf("\n matricea drumurilor optime \n"); afisare_mat(); printf("\n Se determina drumul minim intre varfurile x si y \n"); printf("x="); scanf("%d",&x); printf("y="); scanf("%d",&y); scriu_drum(x,y); getch(); }
CONCLUZII • Datorită noţiunilor invătate la ora de informatică,biciclistul Opârlescu Cristian a câstigat cea de-a 5 ediţie a concursului mountain-bike. • Folosind noţiunile grafurilor poţi să alegi drumul cel mai scurt dintre două localitaţi
Echipa bike-rilor:RADU POMPEI COMAN MARIUS BASARABĂ CĂTĂLIN FUCĂ OVIDIU OPÂRLESCU CRISTIAN