【每日算法】基础算法——八数码(四十)
题目内容在一个3×3的网格中,1~8这8个数字和一个“x”恰好不重不漏地分布在这3×3的网格中。 例如: 1 2 3x 4 67 5 8在游戏过程中,可以把“x”与其上、下、左、右四个方向之一的数字交换(如果存在)。 我们的目的是通过交换,使得网格变为如下排列(称为正确排列): 1 2 34 5 6 ...
Read more
【每日算法】基础算法——走迷宫(三十九)
题目内容给定一个n*m的二维整数数组,用来表示一个迷宫,数组中只包含0或1,其中0表示可以走的路,1表示不可通过的墙壁。 最初,有一个人位于左上角(1, 1)处,已知该人每次可以向上、下、左、右任意一个方向移动一个位置。 请问,该人从左上角移动至右下角(n, m)处,至少需要移动多少次。 数据保证( ...
Read more
【每日算法】基础算法——n皇后问题(三十八)
题目内容n-皇后问题是指将 n 个皇后放在 n∗n 的国际象棋棋盘上,使得皇后不能相互攻击到,即任意两个皇后都不能处于同一行、同一列或同一斜线上。现在给定整数n,请你输出所有的满足条件的棋子摆法。 输入格式共一行,包含整数n。 输出格式每个解决方案占n行,每行输出一个长度为n的字符串,用来表示完整的 ...
Read more
【每日算法】基础算法——排列数字(三十七)
题目内容给定一个整数n,将数字1~n排成一排,将会有很多种排列方法。 现在,请你按照字典序将所有的排列方法输出。 输入格式共一行,包含一个整数n。 输出格式按字典序输出所有排列方案,每个方案占一行。 数据范围1≤n≤7 输入样例3 输出样例1 2 31 3 22 1 32 3 13 1 23 2 1 ...
Read more
【每日算法】基础算法——字符串哈希(三十六)
题目内容给定一个长度为n的字符串,再给定m个询问,每个询问包含四个整数l1,r1,l2,r2,请你判断[l1,r1]和[l2,r2]这两个区间所包含的字符串子串是否完全相同。 字符串中只包含大小写英文字母和数字。 输入格式第一行包含整数n和m,表示字符串长度和询问次数。 第二行包含一个长度为n的字符 ...
Read more
【每日算法】基础算法——模拟散列表(三十五)
题目内容维护一个集合,支持如下几种操作: “I x”,插入一个数x;“Q x”,询问数x是否在集合中出现过; 现在要进行N次操作,对于每个询问操作输出对应的结果。 输入格式第一行包含整数N,表示操作数量。 接下来N行,每行包含一个操作指令,操作指令为”I x”,”Q x”中的一种。 输出格式对于每个 ...
Read more
【每日算法】基础算法——模拟堆(三十四)
题目内容维护一个集合,初始时集合为空,支持如下几种操作: “I x”,插入一个数x;“PM”,输出当前集合中的最小值;“DM”,删除当前集合中的最小值(数据保证此时的最小值唯一);“D k”,删除第k个插入的数;“C k x”,修改第k个插入的数,将其变为x;现在要进行N次操作,对于所有第2个操作, ...
Read more
【每日算法】基础算法——堆排序(三十三)
题目内容输入一个长度为n的整数数列,从小到大输出前m小的数。 输入格式第一行包含整数n和m。 第二行包含n个整数,表示整数数列。 输出格式共一行,包含m个整数,表示整数数列中前m小的数。 数据范围1≤m≤n≤10^5 ,1≤数列中元素≤10^9 输入样例5 34 5 1 3 2 输出样例1 2 3 ...
Read more
【每日算法】基础算法——食物链(三十二)
题目内容动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形。 A吃B, B吃C,C吃A。 现有N个动物,以1-N编号。 每个动物都是A,B,C中的一种,但是我们并不知道它到底是哪一种。 有人用两种说法对这N个动物所构成的食物链关系进行描述: 第一种说法是”1 X Y”,表示X和Y是同 ...
Read more
【每日算法】基础算法——连通块中点的数量(三十一)
题目内容给定一个包含n个点(编号为1~n)的无向图,初始时图中没有边。 现在要进行m个操作,操作共有三种: “C a b”,在点a和点b之间连一条边,a和b可能相等;“Q1 a b”,询问点a和点b是否在同一个连通块中,a和b可能相等;“Q2 a”,询问点a所在连通块中点的数量; 输入格式第一行输入 ...
Read more