题解列表

筛选

蓝桥杯2018年第九届真题-搭积木-题解(C++代码)

###解题思路:先算出每一行的积木最大搭多高,然后找到可以搭积木的左端点i,然后找右端点j,i~j都是可以搭积木的,然后记忆化搜索这一块区域可以搭积木的方案数,然后再从j+1开始找,同上```cpp#include#definexfirst#defineysecond#definemem1(h)mem

蓝桥杯2018年第九届真题-调手表-题解(C++代码)

###解题思路:因要采取最优策略,那么就是所有调到每一个点数的步数最大值,用宽搜每次调1点或者k点,第一次调到就放进答案里,最后找一个最大值即可```cpp#include#definexfirst#defineysecond#definemem1(h)memset(h,

蓝桥杯2016年第七届真题-最大比例-题解(C++代码)

####思路:#####把输入的数从小到大排序,然后把每个的比例的分子和分母的最简形式换分出来,存到结构体中,然后按照分子或者分母的大小排序,然后进行分子间的相除,去比较求最小,并且不能为1,为1就是相同了,不为1最小就为q.```#include#includeusingnamespacestd;s

蓝桥杯2017年第八届真题-发现环-题解(C++代码)

解题思路:DFS不断向当前结点的下一个结点前进,顺便记下下一个结点的父节点以便回头可以找到所有在环上的结点。用一个数组s[maxn]记录DFS过程中每一个结点的访问状态,对于结点p,如果:s[p]=-1代表当前结点正在访问中;s[p]=0代表当前未被访问;s[p]=1代表当前结点已经被访问过了。

蓝桥杯2018年第九届真题-螺旋折线-题解(C++代码)

###解题思路:左上角的点作为上面横线的基点,右上角的点作为右边竖线的基点,右下角的点作为下面横线的基点,左下角的点作为左面竖线的基点,找出规律即可。```cpp#include#definexfirst#defineysecond#definemem1(h)memset(h,