题目n−皇后问题是指将 n 个皇后放在 n×n 的国际象棋棋盘上,使得皇后不能相互攻击到,即任意两个皇后都不能处于同一行、同一列或同一斜线上。现在给定整数 n,请你输出所有的满足条件的棋子摆法。输入共一行,包含整数 n。4输出每个解决方案占 n 行,每行输出一个长度为 n 的字符串,用来表示完整的棋
给定一个长度为 n 的字符串,再给定 m 个询问,每个询问包含四个整数 l1,r1,l2,r2,请你判断 [l1,r1] 和 [l2,r2] 这两个区间所包含的字符串子串是否完全相同。字符串中只包含大小写英文字母和数字。输入格式第一行包含整数 n 和 m,表示字符串长度和询问次数。第二行包含一个长度
Farmer John suffered a terrible loss when giant Australian cockroaches ate the entirety of his hay inventory, leaving him with nothing to feed the cow
给定一个整数n,将数字1~n排成一排,将会有很多种排列方法。现在,请你按照字典序将所有的排列方法输出。输入共一行,包含一个整数n。1≤n≤73输出按字典序输出所有排列方案,每个方案占一行。1 2 31 3 22 1 32 3 13 1 23 2 1代码#include<iostream>
给定一个n个点m条边的有向图,点的编号是1到n,图中可能存在重边和自环。请输出任意一个该有向图的拓扑序列,如果拓扑序列不存在,则输出-1。若一个由图中所有点构成的序列A满足:对于图中的每条边(x, y),x在A中都出现在y之前,则称A是该图的一个拓扑序列。输入第一行包含两个整数n和m接下来m行,每行
bfs模板queue<int> q;st[1] = true; // 表示1号点已经被遍历过q.push(1);while (q.size()){ int t = q.front(); q.pop(); for (int i = h[t]; i != -1; i = n
根据维基百科的定义:插⼊排序是迭代算法,逐⼀获得输⼊数据,逐步产⽣有序的输出序列。每步迭代中,算法从输⼊序列中取出⼀元素,将之插⼊有序序列中正确的位置。如此迭代直到全部元素有序。归并排序进⾏如下迭代操作:⾸先将原始序列看成N个只包含1个元素的有序⼦序列,然后每次迭代归并两个相邻的有序⼦序列,直到最后