用ci cj存四個方向
然後用v存每一次直走共走幾格
不需要做防護 因為不會出界
優雅 太優雅了(x
#include <bits/stdc++.h>
using namespace std;
int main(){
ios::sync_with_stdio(false);
cin.tie(nullptr);
int n,s,ci[4]={0,-1,0,1},cj[4]={-1,0,1,0};
cin>>n>>s;
int a[n][n];
for(int i=0;i<n;i++) for(int j=0;j<n;j++) cin>>a[i][j];
int x=(n-1)/2,y=x;
vector<int> v;
for(int i=1;i<n;i++){
v.push_back(i);
v.push_back(i);
}
v.push_back(n-1);
for(int i:v){
for(int j=0;j<i;j++){
cout<<a[x][y];
x+=ci[s];
y+=cj[s];
}
s=(s+1)%4;
}
cout<<a[x][y];
}