题目原文
题目描述
给你一个正整数n,现在你需要在一个m * 5的方格内填数,填数的规则如图:
以2 * 5的方格为例,箭头方向表示填数的方向
输入
两个正整数n和m(n < 100,m < 10)
数据保证方格一定够大,可以装下所有的数,如果n个数已经被装完了,那么剩下的格子上都填-1
输出
填数后的结果,注意每个数要对齐
样例
输入样例1
13 3
输出样例1
1 2 3 4 5
10 9 8 7 6
11 12 13 -1 -1
AC代码
#include <stdio.h>
int a[20][20];
int main()
{
int n, m;
scanf("%d%d", &n, &m);
for (int i = 1; i <= m; i++)
{
if (i % 2)
{
for (int j = 1; j <= 5; j++)
if (5 * (i - 1) + j <= n)
a[i][j] = 5 * (i - 1) + j;
else
a[i][j] = -1;
}
else
{
for (int j = 1; j <= 5; j++)
if (5 * i - j + 1 <= n)
a[i][j] = 5 * i - j + 1;
else
a[i][j] = -1;
}
}
for (int i = 1; i <= m; i++)
{
for (int j = 1; j <= 5; j++)
printf("%5d", a[i][j]);
printf("\n");
}
return 0;
}