Advertisement
Anon2005

Untitled

Oct 7th, 2020
1,764
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.99 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. #pragma GCC optimize("Ofast")
  3. using namespace std;
  4. bitset<730> mat[730];
  5. void umple(int x1,int y1,int x2,int y2)
  6. {
  7.     for(int i=x1; i<=x2; i++)
  8.         for(int j=y1; j<=y2; j++)
  9.             mat[i][j]=1;
  10. }
  11. void bkt(int x1,int y1,int x2,int y2)
  12. {
  13.     if(x1==x2)
  14.         return;
  15.     int dim=(x2-x1+1)/3;
  16.     for(int i=0; i<3; i++)
  17.         for(int j=0; j<3; j++)
  18.             if(i!=1||j!=1)
  19.                 bkt(x1+dim*i,y1+dim*j,x1+dim*(i+1)-1,y1+dim*(j+1)-1);
  20.     umple(x1+dim,y1+dim,x1+2*dim-1,y1+2*dim-1);
  21. }
  22. int main()
  23. {
  24. #ifndef HOME
  25.     freopen("sierpinski.in","r",stdin);
  26.     freopen("sierpinski.out","w",stdout);
  27. #endif // HOME
  28.     ios_base::sync_with_stdio(false);
  29.     cin.tie(NULL);
  30.     cout.tie(NULL);
  31.     int n,rez=1;
  32.     cin>>n;
  33.     for(int i=1; i<=n; i++)
  34.         rez*=3;
  35.     bkt(1,1,rez,rez);
  36.     for(int i=1; i<=rez; i++)
  37.     {
  38.         for(int j=1; j<=rez; j++)
  39.             cout<<mat[i][j]<<" ";
  40.         cout<<'\n';
  41.     }
  42.     return 0;
  43. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement