Untitled
unknown
c_cpp
2 years ago
1.1 kB
3
Indexable
#include<stdio.h> int sprl[3005][3005]={0}; int main(){ int t, n; int index,tmp_x, tmp_y, x, y; int a,b,tmp_n; //a:分幾次走 b:走幾步 int dir_x[4] = {0,1,0,-1}; int dir_y[4] = {1,0,-1,0}; //右 下 左 上 scanf("%d",&t); for(int i=0;i<t;i++){ scanf("%d",&n); for(int j=0;j<n;j++){ for(int k=0;k<n;k++){ sprl[j][k]=0; } } index=0; x=0; y=-1; a=1; b=0; tmp_n=n; do{ //提前預測是否需要轉彎 if(!(b<tmp_n)){ index = (index + 1) % 4; tmp_n--; a++; b=0; } //直走 x = x + dir_x[index]; y = y + dir_y[index]; b++; sprl[x][y]=1; }while(a<n); for(int j=0;j<n;j++){ for(int k=0;k<n;k++){ if(sprl[j][k]) printf("#"); else printf(" "); } printf("\n"); } } }
Editor is loading...