Advertisement
Five_NT

[C++]Graf Hamiltonian

Jan 9th, 2014
220
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.79 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3.  
  4. using namespace std;
  5.  
  6. int a[100][100], i, j, n, p, viz[10];
  7.  
  8. void citire();
  9. int grad(int a);
  10. int hemiltonian();
  11.  
  12. int main()
  13. {
  14.     citire();
  15.     if(hemiltonian())
  16.         cout<<"     **  Graficul nu este hemiltonian        **      ";
  17.     else cout<<"    **  Graficul este hemiltonian   **  ";
  18.     return 0;
  19. }
  20.  
  21. void citire()
  22. {
  23.     ifstream f("c.in");
  24.     f>>n>>p;
  25.     for(i=1; i<=n; i++)
  26.         for(j=1; j<=n; j++)
  27.             f>>a[i][j];
  28.     f.close();
  29. }
  30.  
  31. int grad(int i)
  32. {
  33.     int gr=0;
  34.     for(j=1; j<=n; j++)
  35.         if(a[i][j] == 1)
  36.             gr++;
  37.     return gr;
  38. }
  39.  
  40. int hemiltonian()
  41. {
  42.     for(i=1; i<=n; i++)
  43.         if(grad(i)<=n/2)
  44.             return 0;
  45.     return 1;
  46. }
  47. /* citire.in */
  48.     8 1
  49. 0 1 0 1 0 0 0 0
  50. 1 0 1 0 1 0 0 1
  51. 0 1 0 0 0 0 0 1
  52. 1 0 0 0 1 1 1 0
  53. 0 1 0 1 0 0 1 1
  54. 0 0 0 1 0 0 1 0
  55. 0 0 0 1 1 1 0 1
  56. 0 1 1 0 1 0 1 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement