Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- ifstream fin("pavele.in");
- ofstream fout("pavele.out");
- int n, m, r, k, k1, a[301][301], t;
- int main()
- {
- fin>>n;
- m=n/2;
- if(m%2==0)
- {
- r=(n*n-1)/4;
- a[1][1]=0;
- k=1;
- for(int i=2; i<=n; i++)
- {
- a[i][1]=-k;
- a[1][i]=k;
- if(i%2)
- k++;
- }
- for(int i=2; i<=n; i++)
- {
- for(int j=2; j<=n/2+1; j++)
- {
- a[i][j]=k;
- if(j%2)
- k++;
- }
- }
- k=n/2+1;
- for(int i=n/2+2; i<=n; i++)
- {
- for(int j=2; j<=n; j++)
- {
- a[j][i]=-k;
- if(j%2)
- k++;
- }
- }
- }
- else
- {
- t=n-2;
- r=(n*n-5)/4;
- a[1][1]=a[n-1][n-1]=a[n-1][n]=0;
- a[n][n-1]=a[n][n]=0;
- k=1;
- for(int i=2; i<=n; i++)
- {
- a[i][1]=-k;
- a[1][i]=k;
- if(i%2)
- k++;
- }
- k1=k;
- for(int i=2; i<=t; i++)
- {
- for(int j=2; j<=t/2+1; j++)
- {
- a[i][j]=k;
- if(j%2)
- k++;
- }
- }
- for(int i=t/2+2; i<=t; i++)
- {
- for(int j=2; j<=t; j++)
- {
- a[j][i]=-k1;
- if(j%2)
- k1++;
- }
- }
- for(int j=2; j<n-1; j++)
- {
- a[n-1][j]=a[n][j]=-(k1++);
- }
- for(int j=2; j<n-1; j++)
- {
- a[j][n-1]=a[j][n]=k++;
- }
- }
- fout<<r<<'\n';
- for(int i=1; i<=n; i++)
- {
- for(int j=1; j<=n; j++)
- fout<<a[i][j]<<" ";
- fout<<'\n';
- }
- return 0;
- }
Add Comment
Please, Sign In to add comment