news 2026/6/4 10:06:02

排列数字、 n-皇后问题

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
排列数字、 n-皇后问题

排列数字

给定一个整数 n,将数字 1∼n 排成一排,将会有很多种排列方法。

现在,请你按照字典序将所有的排列方法输出。

输入格式

共一行,包含一个整数 n。

输出格式

按字典序输出所有排列方案,每个方案占一行。

数据范围

1≤n≤7

输入样例:
3
输出样例:
1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 1
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { static int N = 110; static boolean f[]=new boolean[N]; static int a[]=new int[N]; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); // String g[] = br.readLine().split(" "); int n=Integer.parseInt(br.readLine()); dfs(1,n); } static void dfs(int k,int n){ if(k>n){ StringBuilder stringBuilder=new StringBuilder(); for (int i = 1; i <= n; i++) { stringBuilder.append(a[i]+" "); } System.out.println(stringBuilder.toString()); return; } for (int i = 1; i <= n; i++) { if(f[i]==true)continue; f[i]=true; a[k]=i; dfs(k+1, n); f[i]=false; } } }

n-皇后问题

n−皇后问题是指将 n 个皇后放在 n×n 的国际象棋棋盘上,使得皇后不能相互攻击到,即任意两个皇后都不能处于同一行、同一列或同一斜线上。

现在给定整数 n,请你输出所有的满足条件的棋子摆法。

输入格式

共一行,包含整数 n。

输出格式

每个解决方案占 n 行,每行输出一个长度为 n 的字符串,用来表示完整的棋盘状态。

其中.表示某一个位置的方格状态为空,Q表示某一个位置的方格上摆着皇后。

每个方案输出完成后,输出一个空行。

注意:行末不能有多余空格。

输出方案的顺序任意,只要不重复且没有遗漏即可。

数据范围

1≤n≤9

输入样例:
4
输出样例:
.Q.. ...Q Q... ..Q. ..Q. Q... ...Q .Q..
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { static int N = 110; static boolean f[]=new boolean[N]; static int q[]=new int[N]; static char a[][]=new char[N][N]; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); // String g[] = br.readLine().split(" "); int n=Integer.parseInt(br.readLine()); for (int i = 1; i <= n; i++) { for (int j = 1; j <= n; j++) { a[i][j]='.'; } } dfs(1,n); } static void dfs(int row,int n){ if(row>n){ for (int i = 1; i <= n; i++) { StringBuilder stringBuilder=new StringBuilder(); for (int j = 1; j <= n; j++) { stringBuilder.append(a[i][j]); } System.out.print(stringBuilder.toString()); System.out.println(); } System.out.println(); return; } for (int i = 1; i <= n; i++) { if(check(row,i)){ f[i]=true; a[row][i]='Q'; q[row]=i; dfs(row+1, n); f[i]=false; a[row][i]='.'; } } } static boolean check(int x,int y){ if(f[y])return false; for (int i = 1; i < x; i++) { if(Math.abs(x-i)==Math.abs(q[i]-y)){ return false; } } return true; } }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/4 10:06:02

Gemma 1与Gemma 2真实技术解析:识破‘Gemma 4’认知陷阱

1. 项目概述&#xff1a;Gemma 4不是真实存在的模型&#xff0c;但这个标题暴露了当前AI圈最典型的认知陷阱“谷歌发布开源模型Gemma 4”——这句话在技术社区、自媒体标题和微信群里频繁出现&#xff0c;听起来非常“硬核”&#xff0c;仿佛刚刷完Google AI Blog就立刻转发了一…

作者头像 李华
网站建设 2026/6/4 10:05:56

Internet Archive Switzerland:当知识遗产遭遇地缘政治与数字永生

Internet Archive Switzerland&#xff1a;当知识遗产遭遇地缘政治与数字永生 在当今这个信息爆炸却又极其脆弱的数字时代&#xff0c;数据的持久性正面临着前所未有的挑战。我们习惯于认为&#xff0c;一旦某件事物被上传到互联网&#xff0c;它就会永远存在。然而&#xff0c…

作者头像 李华
网站建设 2026/6/4 10:04:03

PyTorch + ResNet50/ResNet18 训练智慧船只分类数据集 -船只类型分类数据集 浮标、游轮、渡船、货船、木船、充气船、皮划艇、纸船、帆船

智慧船只分类数据集 -船只类型分类数据集 数量&#xff1a;该数据集包含1500张图像jpg格式 类别数量&#xff1a; 9 类别类型&#xff1a;浮标、游轮、渡船、货船、木船、充气船、皮划艇、纸船、帆船 船只类型分类数据集&#xff08;使用教程 训练代码&#xff09; 这个是图像…

作者头像 李华
网站建设 2026/6/4 10:01:06

Windows性能优化终极指南:3分钟让旧电脑焕发新生

Windows性能优化终极指南&#xff1a;3分钟让旧电脑焕发新生 【免费下载链接】Atlas &#x1f680; An open and lightweight modification to Windows, designed to optimize performance, privacy and usability. 项目地址: https://gitcode.com/GitHub_Trending/atlas1/At…

作者头像 李华
网站建设 2026/6/4 9:53:25

Qbot量化交易框架实战指南:从零到一的AI量化交易系统部署

Qbot量化交易框架实战指南&#xff1a;从零到一的AI量化交易系统部署 【免费下载链接】Qbot [&#x1f525;updating ...] AI 自动量化交易机器人(完全本地部署) AI-powered Quantitative Investment Research Platform. &#x1f4c3; online docs: https://ufund-me.github.i…

作者头像 李华