v 0. Pasted by UnderFelixAbove as cpp at 2010-05-18 23:09:30 MSK and set expiration to never.

Paste will expire never.

  1. // Меньшиков. Тренировка 3.
  2. // 3F. Змейка [serpent]
  3. // ibelyaev: 15May2010
  4.  
  5. #include <iostream>
  6. #include <vector>
  7.  
  8. using namespace std;
  9.  
  10. vector<vector<int> > mas;
  11. int n;
  12. bool correct(int x, int y)
  13. {
  14.     if (x<0 || y<0)
  15.         return false;
  16.     if (x>=n || y>=n)
  17.         return false;
  18.     return true;
  19. }
  20. void input()
  21. {
  22.     cin>>n;
  23.     mas = vector<vector<int> >(n,vector<int>(n,0));
  24. }
  25. void solve()
  26. {
  27.     int pos = 1;
  28.     for (int c = 0; c<2*n; c++)
  29.     {
  30.         if (c%2)
  31.         {
  32.             for (int i=0;i<n;i++)
  33.             {
  34.                 int j = c - i;
  35.                 if (correct(i,j))
  36.                     mas[i][j] = pos++;
  37.             }
  38.         }
  39.         else
  40.         {
  41.             for (int i=n-1;i>=0;i--)
  42.             {
  43.                 int j = c - i;
  44.                 if (correct(i,j))
  45.                     mas[i][j] = pos++;
  46.             }
  47.         }
  48.     }
  49. }
  50. void output()
  51. {
  52.     for (int i=0;i<n;i++)
  53.     {
  54.         for (int j=0;j<n;j++)
  55.             cout<<mas[i][j]<<' ';
  56.         cout<<endl;
  57.     }
  58. }
  59.  
  60. int main()
  61. {
  62.     input();
  63.     solve();
  64.     output();
  65.     return 0;
  66. }


Editing is locked.