1157: 零起点学算法64——回型矩阵
Time Limit: 1 Sec Memory Limit: 64 MB 64bit IO Format: %lldSubmitted: 2440 Accepted: 925
[ Submit ][ Status ][ Web Board ]
Description
输出n*m的回型矩阵
Input
多组测试数据
每组输入2个整数 n和m(不大于20)
Output
输出n*m的回型矩阵,要求左上角元素是1,(每个元素占2个位置,靠右)
Sample Input
4 3
Sample Output
1 2 3 10 11 4 9 12 5 8 7 6
Source
零起点学算法
1 #include<stdio.h>
2 #include< string .h>
3 int main(){
4 int n,m,a[ 20 ][ 20 ];
5 while (scanf( " %d%d " ,&n,&m)!= EOF){
6
7 memset(a, 0 , sizeof (a));
8 int tot,i,j;
9 tot=a[i= 0 ][j= 0 ]= 1 ;
10 while (tot<n* m){
11 while (j+ 1 <m&&!a[i][j+ 1 ])
12 a[i][++j]=++ tot;
13 while (i+ 1 <n&&!a[i+ 1 ][j])
14 a[++i][j]=++ tot;
15 while (j- 1 >= 0 &&!a[i][j- 1 ])
16 a[i][--j]=++ tot;
17 while (i- 1 >= 0 &&!a[i- 1 ][j])
18 a[--i][j]=++ tot;
19 }
20
21 for ( int i= 0 ;i<n;i++ ){
22 for ( int j= 0 ;j<m- 1 ;j++ ){
23 printf( " %2d " ,a[i][j]);
24 }
25 printf( " %2d\n " ,a[i][m- 1 ]);
26 }
27 }
28
29 return 0 ;
30 }
//依旧是思想很重要!!
查看更多关于1157: 零起点学算法64——回型矩阵的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did238291