Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <iomanip>
- using namespace std;
- int main()
- {
- int n;
- while(cin>>n)
- {
- int a[n][n]={ },i=n*n-1,v=n-1,h=n-1,dir=1;
- while(i>=0)
- {
- a[v][h]=i;
- i--;
- //cout << v << " " << h << " " << a[v][h] << endl;
- if(dir==1)
- {
- if(h-1<0||a[v][h-1]!=0)
- {
- dir=2;
- v--;
- }
- else h--;
- }
- else if(dir==2)
- {
- if(v-1<0||a[v-1][h]!=0)
- {
- dir=3;
- h++;
- }
- else v--;
- }
- else if(dir==3)
- {
- if(h+1>n-1||a[v][h+1]!=0)
- {
- dir=4;
- v++;
- }
- else h++;
- }
- else //if(dir==4)
- {
- if(v+1>n-1||a[v+1][h]!=0)
- {
- dir=1;
- h--;
- }
- else v++;
- }
- }
- for(int j=0;j<n;j++)
- {
- for(int k=0;k<n;k++)
- cout << setw(4) << a[j][k] ;
- cout<<endl;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement