2015年蓝桥杯第十题--生命之树(无根树dfs) ①暴力解法:枚举子集(选点) + dfs判断连通性(题目要求连通)满足上面两个条件下找出最大值权值和 ②dfs无根树转有根树,递归找最优 先学习无根树转有根树 参考博客:https://blog.csdn.net/Originum/article/details/82258450 参考博客:https://www.cnblogs.com/yspworld/p/4270876.html 无根树转有根树模板 void dfs(int cur, in…
2015年第六届蓝桥杯B组C/C++决赛题解 点击查看2015年第六届蓝桥杯B组C/C++国赛题目(不含答案)     1.积分之迷 三重循环 枚举A,B,C的值,如果满足两个条件:3个A + 7个B + 1个C = 15 ,4个A + 10个B + 1个C = 420 就是一组合法的解. 输出A+B+C就是答案     2.完美正方形 一开始以为很难,看了题解 都是用dfs暴力搜出来的 国赛第二题永远是用dfs解决.. 下面博客dfs的很完美啊! 参考博客:https://blog.csdn.…
2015年第六届蓝桥杯B组C/C++国赛题目 点击查看2015年第六届蓝桥杯B组C/C++国赛题解     1.积分之迷 小明开了个网上商店,卖风铃.共有3个品牌:A,B,C. 为了促销,每件商品都会返固定的积分. 小明开业第一天收到了三笔订单: 第一笔:3个A + 7个B + 1个C,共返积分:315 第二笔:4个A + 10个B + 1个C,共返积分:420 第三笔:A + B + C,共返积分.... 你能算出第三笔订单需要返积分多少吗? 请提交该整数,不要填写任何多余的内容.     2…
垒骰子 赌圣atm晚年迷恋上了垒骰子,就是把骰子一个垒在另一个上边,不能歪歪扭扭,要垒成方柱体. 经过长期观察,atm 发现了稳定骰子的奥秘:有些数字的面贴着会互相排斥! 我们先来规范一下骰子:1 的对面是 4,2 的对面是 5,3 的对面是 6. 假设有 m 组互斥现象,每组中的那两个数字的面紧贴在一起,骰子就不能稳定的垒起来. atm想计算一下有多少种不同的可能的垒骰子方式. 两种垒骰子方式相同,当且仅当这两种方式中对应高度的骰子的对应数字的朝向都相同. 由于方案数可能过多,请输出模 10^…
加法变乘法 我们都知道:1+2+3+ ... + 49 = 1225 现在要求你把其中两个不相邻的加号变成乘号,使得结果为2015 比如: 1+2+3+...+1011+12+...+2728+29+...+49 = 2015 就是符合要求的答案. 请你寻找另外一个可能的答案,并把位置靠前的那个乘号左边的数字提交(对于示例,就是提交10). 注意:需要你提交的是一个整数,不要填写任何多余的内容. 答案:16 思路:暴力法,两层循环枚举两个乘号可能在的位置,具体请看代码中的注释 #include<…
星系炸弹 在X星系的广袤空间中漂浮着许多X星人造"炸弹",用来作为宇宙中的路标. 每个炸弹都可以设定多少天之后爆炸. 比如:阿尔法炸弹2015年1月1日放置,定时为15天,则它在2015年1月16日爆炸. 有一个贝塔炸弹,2014年11月9日放置,定时为1000天,请你计算它爆炸的准确日期. 请填写该日期,格式为 yyyy-mm-dd 即4位年份2位月份2位日期.比如:2015-02-19 请严格按照格式书写.不能出现其它文字或符号. 答案:2017-08-05 思路:wps.exce…
生命之树 在X森林里,上帝创建了生命之树. 他给每棵树的每个节点(叶子也称为一个节点)上, 都标了一个整数,代表这个点的和谐值. 上帝要在这棵树内选出一个非空节点集S, 使得对于S中的任意两个点a,b,都存在一个点列 {a, v1, v2, ..., vk, b} 使得这个点列中的每个点都是S里面的元素,且序列中相邻两个点间有一条边相连. 在这个前提下,上帝要使得S中的点所对应的整数的和尽量大. 这个最大的和就是上帝给生命之树的评分. 经过atm的努力,他已经知道了上帝给每棵树上每个节点上的整数…
10. 生命之树 在X森林里,上帝创建了生命之树. 他给每棵树的每个节点(叶子也称为一个节点)上,都标了一个整数,代表这个点的和谐值. 上帝要在这棵树内选出一个非空节点集S,使得对于S中的任意两个点a,b,都存在一个点列 {a, v1, v2, …, vk, b} 使得这个点列中的每个点都是S里面的元素,且序列中相邻两个点间有一条边相连. 在这个前提下,上帝要使得S中的点所对应的整数的和尽量大. 这个最大的和就是上帝给生命之树的评分. 经过atm的努力,他已经知道了上帝给每棵树上每个节点上的整数…
/* 1,2,3…9 这九个数字组成一个分数,其值恰好为1/3,如何组法? 下面的程序实现了该功能,请填写划线部分缺失的代码. */ #include <stdio.h> void test(int x[]) { ]* + x[]* + x[]* + x[]; ]* + x[]* + x[]* + x[]* + x[]; ==b) printf("%d / %d\n", a, b); } void f(int x[], int k) { int i,t; ){ test(x…
/* 乐羊羊饮料厂正在举办一次促销优惠活动.乐羊羊C型饮料,凭3个瓶盖可以再换一瓶C型饮料, 并且可以一直循环下去(但不允许暂借或赊账). 请你计算一下,如果小明不浪费瓶盖,尽量地参加活动,那么,对于他初始买入的n瓶饮料,最后他一共能喝到多少瓶饮料. 输入:一个整数n,表示开始购买的饮料数量(0 < n < 10000) 输出:一个整数,表示实际得到的饮料数 例如: 用户输入: 100 程序应该输出: 149 用户输入: 101 程序应该输出: 151 资源约定: 峰值内存消耗 < 25…