网站建设 邯郸网站制作wordpress保存远程图片大小

张小明 2025/12/29 0:16:15
网站建设 邯郸网站制作,wordpress保存远程图片大小,网页设计师中级证书有用吗,如何用php做电商网站C实现N皇后问题#xff08;回溯法详解OJ适配#xff09;一、核心问题分析不同行#xff1a;由于每个皇后占一行#xff0c;可简化为“逐行放置”#xff08;每行仅放一个皇后#xff09;不同列#xff1a;同一列不能有两个皇后不同对角线#xff1a;主对角线#xff0…C实现N皇后问题回溯法详解OJ适配一、核心问题分析不同行由于每个皇后占一行可简化为“逐行放置”每行仅放一个皇后不同列同一列不能有两个皇后不同对角线主对角线x-y为常数和副对角线xy为常数不能有两个皇后二、解题思路回溯法N皇后问题的核心解法是回溯法本质是“尝试-回溯-再尝试”的暴力搜索优化思路初始化n×n的空棋盘用.表示空位置逐行放置皇后第i行放置一个皇后标记其攻击范围行、列、对角线递归处理下一行重复步骤2若递归到第n行所有皇后放置完成则收集当前棋盘作为有效解回溯撤销当前皇后的放置和攻击范围标记尝试当前行的下一个列位置遍历所有可能的位置直到收集完所有有效解。关键优化用“数字字符标记不同皇后的攻击范围”确保回溯时能精准恢复棋盘状态避免不同皇后的攻击范围混淆。三、完整代码实现OJ适配版以下代码已封装为LeetCode/OJ要求的Solution类入口函数为solveNQueens(int n)可直接复制提交#include iostream #include vector #include string using namespace std; void conver(vectorvectorchar a, vectorvectorstring b) { vectorstring temp; for ( auto char_row : a) { for (char c : char_row) { if (c ! Q c ! .) { c .; } } string str(char_row.begin(), char_row.end()); temp.push_back(str); } b.push_back(temp); } void change(int x, int y, char c, vectorvectorchar a,int n) { for (int i 0; i n; i) { if (a[x][i] .) a[x][i] c; if(a[i][y].) a[i][y] c; } for (int i -(n - 1); i n - 1; i) { if (x i n x i 0 y i 0 y i na[xi][yi].) a[x i][y i] c; if (x - i n x - i 0 y i n y i 0a[x-i][yi].) a[x - i][y i] c; } } void restore(char c, int x, int y,int n,vectorvectorchara) { for (int i 0; i n; i) { for (int j 0; j n; j) { if (a[i][j] c) { a[i][j] .; } } } } void queen( int num, int n, vectorvectorchar a, vectorvectorstring b) { if (num n) { conver(a, b); return; } for (int i 0; i n; i) { if (a[num][i] .) { change(num, i, 0num, a, n); a[num][i] Q; queen(num 1, n, a, b); restore(0num, num, i, n, a); a[num][i] .; } } return; } int main() { int n 4; vectorvectorchar a(n, vectorchar(n)); vectorvectorstring b; for (int i 0; i n; i) { for (int j 0; j n; j) { a[i][j] .; } } int num 0; queen(num , n, a, b); for (const auto str_arr : b) { for (const auto str : str_arr) { cout strendl; } cout endl--------------- endl; } }四、核心代码模块解析1. 主函数int main()作用OJ的统一入口负责初始化棋盘、调用递归函数、返回最终结果。初始化n×n的棋盘a所有位置设为.空创建b存储所有有效解法二维字符串数组每个子数组是一个完整的棋盘调用核心递归函数queen从第0行num0开始放置皇后。2. 核心递归函数queen(int num, int n, vectorvectorchar a, vectorvectorstring b)作用实现回溯法的核心逻辑——逐行放置皇后、递归、回溯。终止条件num n表示已处理完第0~n-1行所有皇后放置完成调用conver转换结果并收集逐行遍历num表示当前处理的行遍历当前行的所有列i从0到n-1放置皇后若当前位置a[num][i] .空则用0 num生成当前皇后的专属标记如第0行皇后用0第1行用1调用change标记攻击范围将当前位置设为Q放置皇后递归处理下一行num1回溯调用restore恢复攻击范围标记将当前位置设回.撤销皇后。3. 攻击范围标记change(int x, int y, char c, vectorvectorchar a, int n)作用标记皇后(x,y)的攻击范围行、列、主对角线、副对角线用字符c专属标记标记避免与其他皇后混淆。标记当前行遍历第x行所有列空位置设为c标记当前列遍历第y列所有行空位置设为c标记主对角线xi, yix-y为常数需判断边界0≤nxn0≤nyn标记副对角线x-i, yixy为常数同样判断边界。4. 回溯恢复restore(char c, int x, int y, int n, vectorvectorchar a)作用撤销当前皇后的攻击范围标记——将所有标记为c的位置恢复为.确保回溯后棋盘状态正确。关键由于每个皇后的标记c是唯一的0~n-1恢复时不会影响其他皇后的标记。5. 结果转换conver(vectorvectorchar a, vectorvectorstring b)作用将标记后的棋盘转换为OJ要求的输出格式——过滤攻击范围标记0~n-1仅保留Q皇后和.空。注意参数a采用值传递避免修改原棋盘的状态不影响后续回溯。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

江苏网站建设工作室网站一定要公司吗

Cesium Terrain Builder:构建专业级3D地形的终极完整解决方案 【免费下载链接】cesium-terrain-builder 项目地址: https://gitcode.com/gh_mirrors/ces/cesium-terrain-builder 在当今数字化时代,3D地形生成技术已成为地理信息系统、虚拟现实和…

张小明 2025/12/26 8:21:29 网站建设

网站建制作怎么做网站推广图片

FaceFusion在Cherry Studio中的应用:提升AI视频创作效率的秘诀从“换脸难”到“一键生成”:AI视频创作的新范式 你有没有遇到过这样的场景?一个短视频创意已经成型,主角是某位明星在特定情境下的表演——比如马斯克跳广场舞&#…

张小明 2025/12/27 11:46:33 网站建设

网站建设公司找哪家网站建设公司哪家强

文章目录一、程序分析题(20分)项目结构分析题01分析题02分析题03分析题04二、程序改错题(20分)项目结构改错题01改错题02改错题03改错题04改错题05改错题06一、程序分析题(20分) 项目结构 分析题01 代码运行结果 分析题02 代码运行结果 分析题03 代码运行结果 分析题04 代码…

张小明 2025/12/28 0:33:33 网站建设

网站开发技术合作协议书吉林科技网站建设

第一章:Open-AutoGLM与手机模拟器适配概述Open-AutoGLM 是一个面向自动化任务的开源大语言模型框架,具备强大的自然语言理解与指令生成能力。在移动应用测试、自动化操作等场景中,将其部署于手机模拟器环境可显著提升任务执行效率与覆盖范围。…

张小明 2025/12/27 21:09:16 网站建设

重庆南川网站制作公司哪家好汉川建设局网站

LED显示屏抗震安装实战指南:从结构设计到施工避坑你有没有想过,城市楼宇外墙上那块巨大的LED屏幕,在地震来临时会不会掉下来?这不是危言耸听。近年来,多地曾发生因强风或地震导致户外广告牌、显示屏松动甚至坠落的事件…

张小明 2025/12/27 16:54:25 网站建设

网站设计模板psd用什么编程语言做网站好

开源物理智能新突破:Perceptron发布Isaac 0.1模型,重新定义20亿参数级视觉语言能力 【免费下载链接】Isaac-0.1 项目地址: https://ai.gitcode.com/hf_mirrors/PerceptronAI/Isaac-0.1 Perceptron AI今日正式推出其首款感知语言模型Isaac 0.1&am…

张小明 2025/12/27 13:43:57 网站建设