Advertisement
pablo7890

drzewka

Apr 23rd, 2013
335
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.28 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. int main ()
  6. {
  7.     int m,n;
  8.    
  9.     cin >> n >> m;
  10.    
  11.     n = m;
  12.    
  13.     int tab[m][3];
  14.    
  15.     for (int i=0; i<m; i++)
  16.     {
  17.         cin >> tab[i][0] >> tab[i][1];
  18.         tab[i][2] = 0;
  19.     }
  20.    
  21.     for (int i=0; i<m; i++)
  22.     {
  23.         for (int j=0; j<m; j++)
  24.         {
  25.             if (tab[j][0] == tab[i][1] or tab[j][1] == tab[i][1])
  26.             {
  27.                 if (tab[j][1] == tab[i][1]) // prawy -> lewy
  28.                 {
  29.                     for (int k=0; k<m; k++)
  30.                     {
  31.                         if ((tab[j][0] == tab[k][0] or tab[j][0] == tab[k][1]) and (tab[k][0] == tab[i][0] or tab[k][1] == tab[i][0])) // j 0 -> sasiad
  32.                         {
  33.                             if(tab[i][2] == 0)
  34.                             {
  35.                                 n--;
  36.                             }
  37.                             if(tab[j][2] == 0)
  38.                             {
  39.                                 n--;
  40.                             }
  41.                             if(tab[k][2] == 0)
  42.                             {
  43.                                 n--;
  44.                             }
  45.                             tab[k][2] = 1;
  46.                             tab[j][2] = 1;
  47.                             tab[i][2] = 1;
  48.                         }
  49.                     }
  50.                 }
  51.                 else if (tab[j][0] == tab[i][1])
  52.                 {
  53.                     for (int k=0; k<m; k++)
  54.                     {
  55.                         if ((tab[j][1] == tab[k][0] or tab[j][1] == tab[k][1]) and (tab[k][0] == tab[i][0] or tab[k][1] == tab[i][0])) // j 0 -> sasiad
  56.                         {
  57.                             tab[k][2] = 1;
  58.                             tab[j][2] = 1;
  59.                             tab[i][2] = 1;
  60.                         }
  61.                     }
  62.                 }
  63.             }
  64.         }
  65.     }
  66.     /*
  67.     int wynik=0;
  68.     for (int i=0; i<m; i++)
  69.     {
  70.         if (tab[i][2] == 0)
  71.         {
  72.             wynik++;
  73.         }
  74.     }
  75.     */
  76.     cout << n;
  77. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement