Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- using namespace std;
- int a[100][100], i, j, n, p, viz[10];
- void citire();
- int grad(int a);
- int grad_izolat(int i);
- int grad_par();
- void DF(int j);
- int main()
- {
- citire();
- int ok=0;
- DF(1);
- for(i=1; i<=n; i++)
- if(viz[i] == 0) ok = 1;
- if(grad_izolat(i) && grad_par() && ok == 0)
- cout<<" ** Graficul este eulerian ** ";
- else cout<<" ** Graficul nu este eulerian ** ";
- return 0;
- }
- void citire()
- {
- ifstream f("c.in");
- f>>n>>p;
- for(i=1; i<=n; i++)
- for(j=1; j<=n; j++)
- f>>a[i][j];
- f.close();
- }
- int grad(int i)
- {
- int gr=0;
- for(j=1; j<=n; j++)
- if(a[i][j] == 1)
- gr++;
- return gr;
- }
- int grad_izolat(int i)
- {
- for(i=1; i<=n; i++)
- if(grad(i) == 0)
- return 0;
- return 1;
- }
- int grad_par()
- {
- for(i=1; i<=n; i++)
- if(grad(i)%2)
- return 0;
- return 1;
- }
- void DF(int p)
- {
- int j;
- viz[p]=1;
- for(j=1; j<=n; j++)
- if(a[p][j] == 1 && viz[j] == 0)
- DF(j);
- }
- /* c.in */
- 8 1
- 0 1 0 1 0 0 0 0
- 1 0 1 0 1 0 0 1
- 0 1 0 0 0 0 0 1
- 1 0 0 0 1 1 1 0
- 0 1 0 1 0 0 1 1
- 0 0 0 1 0 0 1 0
- 0 0 0 1 1 1 0 1
- 0 1 1 0 1 0 1 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement