Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- int n,d,s=1,t=0; //d為方向 s為步數 t判斷是否要增加步數
- int main()
- {
- cin>>n>>d;
- int a[n][n];
- for(int i=0;i<n;i++)
- {
- for(int j=0;j<n;j++)
- cin>>a[j][i];
- }
- int x=n/2 ,y=n/2,m=n*n;
- m--;
- cout<<a[x][y];
- while(m>1)
- {
- if(d==0)
- {
- for(int i=1;i<=s;i++)
- {
- if(x-1<0)
- break;
- else
- {
- cout<<a[x-1][y];
- x--;
- m--;
- }
- }
- t++;
- }
- if(d==1)
- {
- for(int i=1;i<=s;i++)
- {
- if(y-1<0)
- break;
- else
- {
- cout<<a[x][y-1];
- y--;
- m--;
- }
- }
- t++;
- }
- if(d==2)
- {
- for(int i=1;i<=s;i++)
- {
- if(x+1>n-1)
- break;
- else
- {
- cout<<a[x+1][y];
- x++;
- m--;
- }
- }
- t++;
- }
- if(d==3)
- {
- for(int i=1;i<=s;i++)
- {
- if(y+1>n-1)
- break;
- else
- {
- cout<<a[x][y+1];
- y++;
- m--;
- }
- }
- t++;
- }
- if(t==2)
- {
- t=0;
- s++;
- }
- d=(d+1)%4;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment