zoukankan      html  css  js  c++  java
  • Day 4 打开Acwing 756. 蛇形矩阵

    输入两个整数n和m,输出一个n行m列的矩阵,将数字 1 到 n*m 按照回字蛇形填充至矩阵中。

    具体矩阵形式可参考样例。

    输入格式

    输入共一行,包含两个整数n和m。

    输出格式

    输出满足要求的矩阵。

    矩阵占n行,每行包含m个空格隔开的整数。

    数据范围

    1n,m1001≤n,m≤100

    输入样例:

    3 3
    

    输出样例:

    1 2 3
    8 9 4
    7 6 5

     边界值为(1)越界(2)偏移后的位置元素已存在

    #include<iostream>
    using namespace std;
    
    const int N = 110;
    int f[N][N];
    int m,n;
    int dx[] = {-1,0,1,0}, dy[] = {0,1,0,-1};
    
    
    int main()
    {
        cin>>n>>m;
        
    
        int x = 0, y = 0, d = 1;
        
        for(int i = 1; i <= m*n; i++)
        {
            f[x][y] = i;
            int a = x + dx[d], b = y + dy[d];
            if(a < 0 || a >= n || b < 0 || b >= m || f[a][b])
            {
                d = (d + 1) % 4;
                a = x + dx[d], b = y + dy[d];
            }
            x = a , y = b;
        }
        
        for(int i = 0; i < n; i++)
        {
            for(int j = 0; j < m; j++)
                printf("%d ", f[i][j]);
        
            cout<<endl;
        }
        return 0;
    }
  • 相关阅读:
    507.Perfect Number
    441.Arranging Coins
    344.Reverse String
    160.Intersection of Two Linked Lists
    HDU-2521 反素数
    HDU-2710 Max Factor
    HDU-2552 三足鼎立
    HDU-2549 壮志难酬
    HDU-2548 两军交锋
    HDU-2550 百步穿杨
  • 原文地址:https://www.cnblogs.com/xiaowangdatie/p/14336812.html
Copyright © 2011-2022 走看看