AcWing 756. 最简单的蛇形矩阵
原题链接
简单
作者:
JVC
,
2020-05-30 01:00:19
,
所有人可见
,
阅读 2068
#include<stdio.h>
#define N 100
int main()
{
int a[N][N] = {0}, n, m;
int dir[4][2] = {{0, 1}, {1, 0}, {0, -1}, {-1, 0}};
int x = 0, y = -1, d = 0, len = 1;
scanf("%d%d", &n, &m);
for (int i = 0; i < n*m; i++)
{
x += dir[d][0];
y += dir[d][1];
a[x][y] = len++;
if ( (d==0 && (y==m-1 || a[x][y+1])) || (d==1 && (x==n-1 || a[x+1][y]))
|| (d==2 && (y==0 || a[x][y-1])) || (d==3 && a[x-1][y]) )
d = (d + 1) % 4;
}
for (int i = 0; i < n; i ++ )
{
for (int j = 0; j < m; j ++ )
printf("%d ", a[i][j]);
printf("\n");
}
return 0;
}
嗯
很不错