题解列表

筛选

蓝桥杯算法提高VIP-格子位置-题解(C++代码) 带解析

前面两项都比较简单了------------**第三项:**(i,j)列往左上角走去,注意边界:在i和j任一个为1时停止,最终停在了(x,y)。再从(x,y)往右下角输出,到边界时停止输出。------------**第四项同理,**(i,j)列往左下角走去,

42.x皇后问题-题解(C++代码)

这个题只需要输出第一次的排列就可以了。。。因为dfs递归本身就是按照字典序排列,输出符合条件的第一个排列就是答案。重点是表达式:`abs(i-j)!=abs(a[i]-a[j])`表示行列之差不能相等,也就是不能是对角线。。。当然也可以用开方。
优质题解

蓝桥杯算法提高-能量项链-题解(C++代码)(思路简单)

###解题思路我以前写得怎么这么抽象啊,这都是啥啊,好羞耻,改了求最大能量的方法是先把小的数字吞了,然后剩下的都是大数字一共要吞n-1次,每次都求当前最小的数字然后吞掉(这大概就是贪心算法)比如2,4,3,6,5能量最大的连接方式:5-2-4————404-3-6————725-4-6————1206

40.殊途同归-题解(C++代码)

这个题确实花了一天的时间,开始用BFS的做法,,但是只能做出一种方案的最短路径长度。。。随后在大佬的建议下用DFS完成了这道题,,期间也多次请教大佬,最后终于完成。。问题难的地方就在于如何求出它的方案数。我的做法是将每种路径到达终点的步数都存在一个hash表里面,

【密码】-题解(C++代码) 思路简单

//1.判断长度是否符合标准//2.遍历字符串,设置了type1~4表示四种条件的满足情况,若在遍历过程中发现符合某种条件就设置它对应的type为1,遍历结束后将type1~4相加可以得到满足的条件有几个,若大于等于三个则输出YES,否则输出NO#include#include#include#inc

The 3n + 1 problem -题解(C++代码)

#include#include#includeusingnamespacestd;intmain(){intn1,n2,i,j,sum,max=0;//max为最大循环长度,sum为每位数字的循环长度,while(~scanf("%d%d",&n1,&n2)){cout