zoukankan      html  css  js  c++  java
  • a417: 螺旋矩陣

    题目:

     每行有一正整数T,代表有几组测试数据

    接下来有T行,每行有N、M两正整数

    N为矩阵长宽,就是会有N*N矩阵

    M为方向,M=1为顺时钟,M=2为逆时钟

    N范围为1~100之间

    思路:

    所以,代码

     1 #include <stdlib.h>
     2 #include <iostream>
     3 #include <stdio.h> 
     4 using namespace std;
     5 
     6 int main() {
     7     int T, M, N;
     8     int R[100][100]; 
     9     cin >> T;   
    10     for (int i=0; i<T; i++) {
    11         int n = 1; 
    12         cin >> N >> M;  
    13         for (int j=0; j<(N+1)/2; j++) {
    14             for (int k=0; k<N-2*j-1; k++)
    15                 R[j][j+k] = n++;
    16             for (int k=0; k<N-2*j-1; k++)
    17                 R[j+k][N-j-1] = n++;
    18             for (int k=0; k<N-2*j-1; k++)  
    19                 R[N-j-1][N-k-j-1] = n++;
    20             for (int k=0; k<N-2*j-1; k++)
    21                 R[N-j-k-1][j] = n++;
    22         }
    23         if (N%2)
    24             R[N/2][N/2] = n;
    25         for (int j=0; j<N; j++) { 
    26             for (int k=0; k<N; k++)  
    27                 if (M == 1) 
    28                     printf("%5d", R[j][k]);
    29                 else  
    30                     printf("%5d", R[k][j]);
    31             printf("
    ");
    32         }
    33         printf("
    ");
    34     }
    35     return 0;
    36 }

        循环的方向如箭头所示.

     

     

     

    先用循环,大的套小的.

    循环中一个往左,一个往下,一个右,一个上

    M是奇数:中间的点打印

    M是偶数:……

  • 相关阅读:
    锚点
    autoLayout
    基础动画
    核心动画
    get和post的区别
    block的定义及使用
    传值-自定义构造函数传值
    字符串
    字典与可变字典
    RabbitMQ的可视化界面进行操作
  • 原文地址:https://www.cnblogs.com/tushukai/p/7290166.html
Copyright © 2011-2022 走看看