Spiral
unknown
c_cpp
3 years ago
860 B
10
Indexable
#include <stdio.h>
int main(){
int t, posi = 0, posj = -1, dirct = 0, n;
int di[4] = {0, 1,0 ,-1};
int dj[4] = {1, 0,-1, 0};
scanf("%d",&t);
while(t > 0){
char map[5005][5005] = {' '};
int posi = 0; posj = -1, dirct = 0;
scanf("%d", &n);
int tmp = n;
while(n > 0){
for(int i = 1; i <= n; i++){
map[posi + di[dirct]*i][posj + dj[dirct]*i] = '#';
}
posi += di[dirct]*n;
posj += dj[dirct]*n;
dirct = (dirct + 1) % 4;
n--;
}
for(int i = 0; i < tmp; i++){
for(int j = 0; j < tmp; j++){
if(map[i][j] == '#') printf("#");
else printf(" ");
}
printf("\n");
}
t--;
}
}Editor is loading...