Paste Search Dynamic
Recent pastes
cnt suma
  1. #include <iostream>
  2. using namespace std;
  3. bool a[102][102] , b[102][102];
  4. int main()
  5. {
  6.     int n , cnt = -1 , ok = 0 , v[101] , p = 0 , s = 0 , suma = 0;
  7.     cin >> n;
  8.     for(int i = 1 ; i <= n ; ++i)
  9.     {
  10.         a[i][0]=1;
  11.         a[i][n+1]=1;
  12.     }
  13.     for(int i = 1 ; i <= n ; ++i)
  14.     {
  15.         a[0][i]=1;
  16.         a[n+1][i]=1;
  17.     }
  18.     for(int i = 1 ; i <= n ; ++i)
  19.         for(int j = 1 ; j <= n ; ++j)
  20.         {
  21.             cin >> a[i][j];
  22.             b[i][j]=a[i][j];
  23.             if(a[i][j]==1) s++;
  24.         }
  25.     suma = s;
  26.     v[p]=s , p++;
  27.     for(int i = 1 ; i <= n ; ++i)
  28.         for(int j = 1 ; j <= n ; ++j)
  29.             if(a[i][j]==1) ok = 1;
  30.     while(ok == 1)
  31.     {
  32.         int r = 0;
  33.         ok = 0;
  34.         cnt++;
  35.         for(int i = 1 ; i <= n ; ++i)
  36.             for(int j = 1 ; j <= n ; ++j)
  37.                 if((a[i+1][j]==0 && a[i][j+1]==0)||(a[i+1][j]==0 && a[i-1][j]==0)||(a[i+1][j]==0 && a[i][j-1]==0)||(a[i][j+1]==0 && a[i-1][j]==0)||(a[i][j+1]==0 && a[i][j-1]==0)||(a[i-1][j]==0 && a[i][j-1]==0))
  38.                     b[i][j]=0;
  39.         for(int i = 1 ; i <= n ; ++i)
  40.             for(int j = 1 ; j <= n ; ++j)
  41.                 if(b[i][j]!=a[i][j]) ok = 1 , r++;
  42.         for(int i = 1 ; i <= n ; ++i)
  43.             for(int j = 1 ; j <= n ; ++j)
  44.                 a[i][j]=b[i][j];
  45.         suma = suma - r;
  46.         v[p]=suma , p++;
  47.     }
  48.     ok = 0;
  49.     for(int i = 1 ; i <= n ; ++i)
  50.         for(int j = 1 ; j <= n ; ++j)
  51.             if(a[i][j]==1) ok=1;
  52.     if(ok==0) cout << cnt;
  53.     else cout << -1;
  54.     cout << endl;
  55.     for(int i = 0 ; i < p ; ++i) if(v[i]!=0)cout << v[i] << endl;
  56.     return 0;
  57. }
Parsed in 0.011 seconds