v 0. Pasted by slipstak2 as cpp at 2015-01-23 05:34:27 MSK and set expiration to never.

Paste will expire never.

  1. #include <iostream>
  2. #include <vector>
  3. #include <iomanip>
  4.  
  5. using namespace std;
  6.  
  7. int n;
  8. int num = 1;
  9. vector<vector<int> > mas;
  10. void gen(int x0, int y0, int x1, int y1) {
  11.     int len = x1 - x0;
  12.     if (len <= 2) {
  13.         for (int i = x0; i < x1; ++i) {
  14.             for (int j = y0; j < y1; ++j) {
  15.                 mas[i][j] = num++;
  16.             }
  17.         }
  18.     } else {
  19.         gen(x0,         y0,             x0 + len/2, y0 + len/2);
  20.         gen(x0,         y0 + len / 2,   x0 + len/2, y1);
  21.         gen(x0 + len/2, y0,             x1,         y0 + len/2);
  22.         gen(x0 + len/2, y0 + len / 2,   x1,         y1);
  23.     }
  24. }
  25. void output() {
  26.     for (int i = 0; i < n; ++i) {
  27.         for (int j = 0; j < n; ++j) {
  28.             cout<<setw(5)<<mas[i][j]<<' ';
  29.         }
  30.         cout<<endl;
  31.     }
  32. }
  33. int main() {
  34. #ifdef _DEBUG
  35.     freopen("input.txt","r",stdin);
  36.     freopen("output.txt","w",stdout);
  37.  
  38. #endif
  39.     cin>>n;
  40.     mas.resize(n, vector<int>(n));
  41.  
  42.     gen(0, 0, n, n);
  43.  
  44.     output();
  45. }


Editing is locked.