Paste will expire never.
- // Меньшиков. Тренировка 3.
- // 3F. Змейка [serpent]
- // ibelyaev: 02Mar2010
- #include <iostream>
- #include <vector>
- using namespace std;
- vector<vector<int> > mas;
- int n;
- void input()
- {
- cin>>n;
- mas = vector<vector<int> >(n,vector<int>(n,0));
- }
- void solve()
- {
- int cur = 1, j,f,s;
- for (int c = 0;c<2*n-1;c++)
- {
- if (c-n+1 < 0)
- {
- f = 0;
- s = c;
- }
- else
- {
- f = c-n+1;
- s = c - f;
- }
- if (c&1)
- {
- for (int i=f;i<=s;i++)
- {
- j = c - i;
- mas[i][j] = cur++;
- }
- }
- else
- {
- for (int i=s;i>=f;i--)
- {
- j = c - i;
- mas[i][j] = cur++;
- }
- }
- }
- }
- 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.