Probleme de informatică
  Clasa a IX-a
1. Elementele de bază ale limbajului C++ (instructiunile limbajului) (46)
2. Subprograme predefinite (1)
3. Tablouri (145)
4. Fişiere text (2)
5. Algoritmi elementari (106)
6. Probleme diverse (13)
  Clasa a X-a
1. Subprograme definite de utilizator (87)
2. Şiruri de caractere (47)
3. Înregistrări (26)
4. Recursivitate (57)
5. Combinatorica (0)
6. Alocarea dinamică a memoriei (2)
7. Liste înlănţuite (25)
8. Algoritmul lui Lee (1)
  Clasa a XI-a

1. Metoda "Divide et impera" (12)
2. Metoda Backtracking (85)
3. Metoda Greedy (6)
4. Programare dinamică (18)
5. Grafuri neorientate (37)
6. Grafuri orientate (38)
7. Arbori (33)

  Clasa a XII-a
1. Elemente de baza C# (32)
2. POO in C# (13)
3. C# - Windows Form Application (24)
4. Admitere UBB (18)

   Home Grafuri orientate Bacalaureat 2016   |   Variante bacalaureat 2009   |   Atestat  |   Olimpiada       
Noutăţi
Subiecte admitere la Facultatea de informatica UBB Cluj-Napoca
Subiecte bacalaureat 2010-2018
Bacalaureat 2018 - competenţe digitale
C# - Windows Form Application - exemple
Modele de proiecte de atestat
Bacalaureat 2018
Subiecte si rezolvări 2010-2018
Rezolvari variante bacalaureat 2009
Competenţe digitale
Examen atestat
Rezumat documentatie
php.doc
css.doc
exemple_php_si_css.rar
Modele de proiecte de atestat
Olimpiada
Clasele V-VI
Clasele VII-VIII
Clasa a IX-a
Clasa a X-a
Clasele XI-XII
Noţiuni teoretice
Metode de sortare
Metoda backtracking


Harta unui oras este impartita in n intersectii si m strazi cu sens unic intre intersectii, fiecare strada avand o lungime. Pentru doua intersectii i si j poate exista atat strada de la i la j, cat si de la j la i.
Intr-o intersectie x se gaseste Julieta si intr-o intersectie y se gaseste Romeo. Cei doi se pot deplasa pe strazi in sensurile de parcurgere ale acestora.
Determinati intersectia in care trebuie sa se intalneasca cei doi astfel incat sa parcurga in total o distanta minima.
Pentru solutia obtinuta afisati intersectia, distanta parcursa de Julieta, distanta parcursa de Romeo si traseul parcurs de fiecate dintre ei.
Datele de intrare asigura ca cei doi se pot intalni.
Exemplu:
date.in
12 19 (n,m)
1 2 20 (intersectie 1, intersectie 2, lungime strada)
1 3 35
1 7 20
2 4 30
3 4 40
3 6 40
3 8 80
4 5 25
5 6 5
6 8 30
6 9 10
7 8 15
7 11 100
8 9 40
8 10 30
8 11 35
9 10 30
10 12 25
11 12 10
1 6 (Julieta, Romeo)
date.out
Intersectia: 8
Julieta merge: 35
Romeo merge: 30
Traseul Julietei: 1 7 8
Traseul lui Romeo: 6 8


#include<fstream>
using namespace std;
const int inf=100000;
int c[200][200],dr[200],dj[200],d[200],p[200],n,m,x,y,t[200], tj[200], tr[200];
ifstream f("d.in");
ofstream g("d.out");

void citire()
{ int i,j,k,cost;
  f>>n>>m;
  for(i=1;i<=n;i++)
    for(j=1;j<=n;j++)
      if(i==j) c[i][j]=0;
      else c[i][j]=inf;
  for(k=1;k<=m;k++)
    { f>>i>>j>>cost;
      c[i][j]=cost;
    }
  f>>x>>y;
}

void dijkstra(int s)
{ int i,j,k,minn;
  for(i=1;i<=n;i++)
     {
         d[i]=c[s][i];
         if(i!=s && d[i]!=inf) t[i]=s;
         else t[i]=0;
         p[i]=0;
     }

  p[s]=1;
  for(k=1;k<n;k++)
   { minn=inf;
     for(i=1;i<=n;i++)
       if(!p[i] && d[i]<minn)
                 { minn=d[i]; j=i;
			     }
     for(i=1;i<=n;i++)
       if(!p[i] && d[i]>d[j]+c[j][i])
            { d[i]=d[j]+c[j][i];
              t[i]=j;
            }
     p[j]=1;
   }
}

void drum(int i, int t[200])
{ if(t[i]) drum(t[i],t);
  g<<i<<" ";
}

int main()
 { int i,minn=100000,imin;
   citire();
   dijkstra(x);
   for(i=1;i<=n;i++) { dj[i]=d[i]; tj[i]=t[i]; }
   dijkstra(y);
   for(i=1;i<=n;i++) { dr[i]=d[i]; tr[i]=t[i]; }
   for(i=1;i<=n;i++)
      if(dj[i]+dr[i]<minn)
      {
          minn=dj[i]+dr[i];
          imin=i;
      }
   g<<"intersectia: "<<imin<<endl;
   g<<"Julieta merge: "<<dj[imin]<<endl;
   g<<"Romeo merge: "<<dr[imin]<<endl;
   g<<"Traseul Julietei: ";
   drum(imin,tj);
   g<<"\nTraseul lui Romeo: ";
   drum(imin,tr);
   f.close();
   g.close();
   return 0;
}


  Clasa a IX-a
1. Elementele de bază ale limbajului C++ (instructiunile limbajului) (46)
2. Subprograme predefinite (1)
3. Tablouri (145)
4. Fişiere text (2)
5. Algoritmi elementari (106)
6. Probleme diverse (13)
  Clasa a X-a
1. Subprograme definite de utilizator (87)
2. Şiruri de caractere (47)
3. Înregistrări (26)
4. Recursivitate (57)
5. Combinatorica (0)
6. Alocarea dinamică a memoriei (2)
7. Liste înlănţuite (25)
8. Algoritmul lui Lee (1)
  Clasa a XI-a

1. Metoda "Divide et impera" (12)
2. Metoda Backtracking (85)
3. Metoda Greedy (6)
4. Programare dinamică (18)
5. Grafuri neorientate (37)
6. Grafuri orientate (38)
7. Arbori (33)

  Clasa a XII-a
1. Elemente de baza C# (32)
2. POO in C# (13)
3. C# - Windows Form Application (24)
4. Admitere UBB (18)

Calculatoare si accesorii second hand
Copyright 2009-2017 Muresan Vasile Ciprian - mcip.ro