bnu1280 蛇形矩阵 C语言版

来源:互联网 发布:网络k歌人声效果器 编辑:程序博客网 时间:2024/05/22 14:48
北京师范大学珠海分校
Judge Online of ACM ICPC
1280 蛇形矩阵
C语言版
  1. #include <stdio.h>

  2. int k,num,a[81][81];

  3. void calc1(int n){
  4.     int i,j;
  5.     if (n%2==0){
  6.         i=n;
  7.         j=1;
  8.         while(n--) a[i--][j++]=num++;
  9.     }
  10.     else{
  11.         i=1;
  12.         j=n;
  13.         while(n--) a[i++][j--]=num++;
  14.     }
  15. }

  16. void calc2(int n){
  17.     int i,j;
  18.     if (n%2==0){
  19.         i=k;
  20.         j=k-n+1;
  21.         while(n--) a[i--][j++]=num++;
  22.     }
  23.     else{
  24.         i=k-n+1;
  25.         j=k;
  26.         while(n--) a[i++][j--]=num++;
  27.     }
  28. }

  29. int main(){
  30.     int i,j;
  31.     while(scanf("%d",&k)!=EOF){
  32.         num=1;  
  33.         for(i=1;i<=k;i++) calc1(i);
  34.         for(i=k-1;i>=1;i--) calc2(i);   
  35.         for(i=1;i<=k;i++){
  36.             for (j=1;j<=k;j++) printf("%d ",a[i][j]);
  37.             printf("/n");
  38.         }
  39.         printf("/n");
  40.     }
  41.     return 0;
  42. }