Paste will expire never.
- // Меньшиков. Тренировка 3.
- // 3F. Змейка [serpent]
- // ibelyaev: 15May2010
- #include <iostream>
- #include <vector>
- using namespace std;
- vector<vector<int> > mas;
- int n;
- bool correct(int x, int y)
- {
- if (x<0 || y<0)
- return false;
- if (x>=n || y>=n)
- return false;
- return true;
- }
- void input()
- {
- cin>>n;
- mas = vector<vector<int> >(n,vector<int>(n,0));
- }
- void solve()
- {
- int pos = 1;
- for (int c = 0; c<2*n; c++)
- {
- if (c%2)
- {
- for (int i=0;i<n;i++)
- {
- int j = c - i;
- if (correct(i,j))
- mas[i][j] = pos++;
- }
- }
- else
- {
- for (int i=n-1;i>=0;i--)
- {
- int j = c - i;
- if (correct(i,j))
- mas[i][j] = pos++;
- }
- }
- }
- }
- void output()
- {
- for (int i=0;i<n;i++)
- {
- for (int j=0;j<n;j++)
- cout<<mas[i][j]<<' ';
- cout<<endl;
- }
- }
- int main()
- {
- input();
- solve();
- output();
- return 0;
- }
Editing is locked.