v 0. Pasted by UnderFelixAbove as cpp at 2010-05-18 22:03:06 MSK and set expiration to never.

Paste will expire never.

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


Editing is locked.