Probleme de informatică
Clasa a IX-a
Elementele de bază C++ (46)
Subprograme predefinite (1)
Fişiere text (2)
Algoritmi elementari (111)
Tablouri unidimensionale (83)
Tablouri bidimensionale (64)
Probleme diverse (13)
Clasa a X-a
Subprograme (funcții) (87)
Şiruri de caractere (50)
Tipul înregistrare (26)
Recursivitate (57)
Alocarea dinamică a memoriei (2)
Liste înlănţuite (25)
Algoritmul lui Lee (1)
Clasa a XI-a
Metoda "Divide et impera" (12)
Metoda Backtracking (86)
Metoda Greedy (6)
Programare dinamică (18)
Grafuri neorientate (40)
Grafuri orientate (38)
Arbori (33)
Clasa a XII-a
Elemente de bază C# (32)
POO în C# (14)
Programare vizuală în C# (19)
Examen de bacalaureat
Competențe digitale
Examen de atestat
Admitere UBB (18)
Se da un graf neorientat cu n varfuri si m muchii, citit prin vectorul muchiilor. Sa se determine daca este graf eulerian.

#include<fstream.h>
 fstream f("graf.in", ios::in);
 fstream g("graf.out",ios::out);
  int a[100][100],n,m,d[100],p[100],x[100];
   void citire()
      { int x,y,i;
	f>>n>>m;
	for(i=1;i<=M;i++)
	    { f>>x>>y;
	     a[x][y]=1;
	     a[y][x]=1;
	     d[x]++;
	     d[y]++;
	   }
      }
  int grad()
     { for(int i=1;i<=n;i++)
	if(d[i]%2!=0) return 0;
	return 1;
     }

  int conex()
     { int s,d,i;
       x[1]=1;
       p[1]=1;
       s=1; d=1;
       while(s<=d)
	  { for(i=1;i<=n;i++)
	   if(a[x[s]][i]==1 && !p[i]) {d++;
				       x[d]=i;
				       p[i]=1;
				      }
	   s++;
	 }
       if(d==n) return 1;
	 else return 0;
     }

  void main()
     { citire();
       if(grad() && conex()) g<<"da";
	  else g<<"nu";
     }




21 nov 2024
Site-ul conține 884 de probleme rezolvate
Copyright © 2009-2018 Muresan Vasile Ciprian