蛇形填数 rust解法

蛇形填数。

在n×n方阵里填入1,2,...,n×n,要求填成蛇形。例如,n=4时方阵为:

10 11 12 1

9 16 13 2

8 15 14 3

7 6 5 4

解法如下:

rust 复制代码
use std::io;

fn main() {
    let mut buf = String::new();
    io::stdin().read_line(&mut buf).unwrap();
    let n: usize = buf.trim().parse().unwrap();
    let mut arr = vec![vec![0; n]; n];

    let mut i = 1;
    let mut x = 0;
    let mut y = n - 1;
    arr[x][y] = 1;
    while i < n * n {
        while x + 1 < n && arr[x + 1][y] == 0 {
            i += 1;
            x += 1;
            arr[x][y] = i;
        }
        while y > 0 && arr[x][y - 1] == 0 {
            i += 1;
            y -= 1;
            arr[x][y] = i;
        }
        while x > 0 && arr[x - 1][y] == 0 {
            i += 1;
            x -= 1;
            arr[x][y] = i;
        }
        while y + 1 < n && arr[x][y + 1] == 0 {
            i += 1;
            y += 1;
            arr[x][y] = i;
        }
    }
    for row in &arr {
        println!("{:?}", row);
    }
}
相关推荐
颜酱2 分钟前
栈的经典应用:从基础到进阶,解决LeetCode高频栈类问题
javascript·后端·算法
多恩Stone10 分钟前
【C++入门扫盲1】C++ 与 Python:类型、编译器/解释器与 CPU 的关系
开发语言·c++·人工智能·python·算法·3d·aigc
QQ40220549627 分钟前
Python+django+vue3预制菜半成品配菜平台
开发语言·python·django
遥遥江上月31 分钟前
Node.js + Stagehand + Python 部署
开发语言·python·node.js
玹外之音35 分钟前
Spring AI MCP 无状态服务器实战:构建AI智能用户管理系统
java·后端
what丶k35 分钟前
Spring AI 多模态开发全解析:从入门到企业级落地
后端·spring·ai编程
ATCB35 分钟前
零门槛!PythonAnywhere 免费部署全指南:不止 Django,这些项目都能搭(附主流平台对比)
后端·python·django
番茄灭世神1 小时前
Rust学习笔记第2篇
rust·编程语言
雨落Re1 小时前
从设计到开发,过年我用十天使用AI搭建了一个完整的博客系统
前端·后端
m0_531237171 小时前
C语言-数组练习进阶
c语言·开发语言·算法