2.11寒假

devtools/2025/2/13 4:55:43/

今天复习了深搜和广搜然后做了作业中的一个题目。

解析:外层 for 循环:for (int i = 1; i <= n; i++),循环变量 i 从 1 递增到 n,表示要依次将数字 1 到 n 分配到数组 a 中。内层 for 循环:for (int j = 1; j <= 2; j++),内层循环控制每次寻找合适位置的步数,每次要找到两个合适的位置。s++:位置指针 s 向后移动一位。if (s > n) { s = 1; }:如果 s 超过了数组的长度 n,则将 s 重置为 1,实现循环查找。if (a[s] != 0) { j--; }:如果当前位置 s 已经被分配了值(即 a[s] 不为 0),则将内层循环的计数器 j 减 1,意味着需要重新寻找一个合适的位置。a[s] = i;:当内层循环结束后,说明已经找到了合适的位置,将当前的数字 i 存储到数组 a 的 s 位置。

#include <stdio.h>
int a[1000001], n, s;
int main() {scanf("%d", &n);for (int i = 1; i <= n; i++) {for (int j = 1; j <= 2; j++) {s++;if (s > n) {s = 1;}if (a[s] != 0) {j--;}}a[s] = i;}for (int i = 1; i <= n; i++) {printf("%d ", a[i]);}return 0;
}

解析:x[9]y[9]:这两个数组用于表示 8 个方向的偏移量,分别对应水平和垂直方向的移动。索引从 1 到 8 分别代表 8 个不同的方向。

#include <stdio.h>
#include <stdbool.h>
int x[9] = {0, 1, 0, 1, -1, 0, -1, 1, -1};
int y[9] = {0, 0, 1, 1, 0, -1, -1, -1, 1};
char str[9] = " yizhong";
char a[103][103];
bool s[102][102]; 
bool f(int i, int j, int m, int n, int next) {if (next >= 8) {s[i][j] = 1;return 1;}if (a[i + m][j + n] == str[next]) {if (f(i + m, j + n, m, n, next + 1)) {s[i][j] = 1;return 1;}}return 0;
}
int main() {int c[10000][2], d = 0;int n, i, j, o;scanf("%d", &n);for (i = 1; i <= n; i++) {for (j = 1; j <= n; j++) {scanf(" %c", &a[i][j]);if (a[i][j] == 'y') {c[++d][0] = i;c[d][1] = j;}}}while (d) {i = c[d][0];j = c[d][1];for (o = 1; o <= 8; o++) {if (a[i + x[o]][j + y[o]] == 'i') {if (f(i + x[o], j + y[o], x[o], y[o], 3)) {s[i][j] = 1;}}}d--;}for (i = 1; i <= n; i++) {for (j = 1; j <= n; j++) {if (s[i][j]) {printf("%c", a[i][j]);} else {printf("*");}}printf("\n");}return 0;
}


http://www.ppmy.cn/devtools/158387.html

相关文章

标题:深入探索 gRPC:后端开发中高效通信的利器

随着微服务架构在后端开发中的普及&#xff0c;如何实现服务之间高效、低延迟的通信成为了一个关键问题。传统的 HTTP 协议在处理大量并发请求时&#xff0c;虽然易于实现&#xff0c;但性能上存在一定的瓶颈。为了解决这个问题&#xff0c;gRPC&#xff08;Google Remote Proc…

【DeepSeek】deepseek可视化部署

目录 1 -> 前文 2 -> 部署可视化界面 1 -> 前文 【DeepSeek】DeepSeek概述 | 本地部署deepseek 通过前文可以将deepseek部署到本地使用&#xff0c;可是每次都需要winR输入cmd调出命令行进入到命令模式&#xff0c;输入命令ollama run deepseek-r1:latest。体验很…

Winform开发框架(蝇量级) MiniFramework V2.1

C/S框架网与2022年发布的一款蝇量级开发框架&#xff0c;适用于开发Windows桌面软件、数据管理应用系统、软件工具等轻量级软件&#xff0c;如&#xff1a;PLC上位机软件、数据采集与分析软件、或企业管理软件&#xff0c;进销存等。适合个人开发者快速搭建软件项目。 适用开发…

【Linux Oracle】安装Oracle 19c客户端

Oracle相关文档&#xff0c;希望互相学习&#xff0c;共同进步 风123456789&#xff5e;-CSDN博客 1.背景 今天需要在一台服务器上只装Oracle客户端&#xff0c;用于连接其他服务器的库&#xff0c;以下为详细安装过程记录。 主要步骤&#xff1a;1&#xff09;用户、组 2&a…

MATLAB 生成脉冲序列 pulstran函数使用详解

MATLAB 生成脉冲序列 pulstran函数使用详解 目录 前言 一、参数说明 二、示例一 三、示例二 总结 前言 MATLAB中的pulstran函数用于生成脉冲序列&#xff0c;支持连续或离散脉冲。该函数通过将原型脉冲延迟并相加&#xff0c;生成脉冲序列&#xff0c;适用于信号处理和系统…

SSA-TCN麻雀算法优化时间卷积神经网络时间序列预测未来Matlab实现

SSA-TCN麻雀算法优化时间卷积神经网络时间序列预测未来Matlab实现 目录 SSA-TCN麻雀算法优化时间卷积神经网络时间序列预测未来Matlab实现预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.Matlab实现SSA-TCN麻雀算法优化时间卷积神经网络时间序列预测未来&#xff08;优…

深度学习|表示学习|Mini-Batch Normalization 具体计算举例|23

如是我闻&#xff1a; Batch Normalization&#xff08;BN&#xff09;是一种在 mini-batch 级别计算均值和方差的归一化方法&#xff0c;它能够加速训练、稳定梯度&#xff0c;并减少对权重初始化的敏感性。 在 BN 过程中&#xff0c;我们不会使用整个数据集计算均值和方差&a…

MacOS 命令行详解使用教程

本章讲述MacOs命令行详解的使用教程&#xff0c;感谢大家观看。 本人博客:如烟花般绚烂却又稍纵即逝的主页 MacOs命令行前言&#xff1a; 在 macOS 上,Terminal&#xff08;终端) 是一个功能强大的工具&#xff0c;它允许用户通过命令行直接与系统交互。本教程将详细介绍 macOS…