题目852
蛇形填数(二)
时间限制:2000 ms
| 内存限制:65535 KB
难度:3
- 描述
-
1 2 3 4 5 12 13 14 6 11 15 7 10 8 9
跟蛇形填数一样,只是填数要求按照三角形填。注意每组数据之间用空行隔开
- 输入
- 第一行有一个N,表示N组测试数据
接下来每组数据包括一个数字X,表示三角形的边长,0< X <1000 - 输出
- 输出之后填好之后的图
- 样例输入
-
2 5 4
- 样例输出
-
1 2 3 4 5 12 13 14 6 11 15 7 10 8 9 1 2 3 4 9 10 5 8 6 7
- 来源
- NBOJ
- 上传者
- 勿念情
-
1 /*蛇形填数(二)*/ 2 /*#include<stdio.h> 3 int main() 4 { 5 int a,b,c,d,n,aa,T; 6 int yi[1001][1001]; 7 scanf("%d",&T); 8 while(T--) 9 { 10 int sum=1; 11 scanf("%d",&n); 12 for(a=0;a<=(n-1)/2;a++) 13 { 14 for(b=a;b<=n-a-a-1;b++)//左/ 15 yi[a][b]=sum++; 16 for(b=n-2-a-a,aa=a+1;b>=a;b--,aa++)//对角/ 17 yi[aa][b]=sum++; 18 for(b=n-a-2-a;b>a;b--)//上/ 19 yi[b][a]=sum++; 20 } 21 for(c=0;c<n;c++) 22 { 23 for(d=0;d<n-c;d++) 24 printf("%d ",yi[c][d]); 25 printf("\n"); 26 } 27 } 28 }*/
主要从三个方向来进行填数,注意边界。。。