1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
| #include<bits/stdc++.h>
int map[101][101]; bool visit[101][101]={false};
int main(){ int n,r; std::cin>>n>>r;
for(int i=0;i<n;i++){ for(int j=0;j<n;j++){ std::cin>>map[i][j]; } }
int row=n/2,col=n/2; for(int i=0;i<n*n;i++){ visit[row][col]=true; std::cout<<map[row][col];
switch(r){ case 0:
col--; if(!visit[row-1][col]){ r++; } break; case 1:
row--; if(!visit[row][col+1]){ r++; } break; case 2:
col++; if(!visit[row+1][col]){ r++; } break; case 3:
row++; if(!visit[row][col-1]){ r=0; } break; } } return 0; }
|