建设企业网站的价格,网页设计导航条怎么做,新营销方式有哪些,上海优化排名推广点击跳转专栏Unity3D特效百例点击跳转专栏案例项目实战源码点击跳转专栏游戏脚本-辅助自动化点击跳转专栏Android控件全解手册点击跳转专栏Scratch编程案例点击跳转软考全系列点击跳转蓝桥系列
#x1f449;关于作者 专注于Android/Unity和各种游…点击跳转专栏Unity3D特效百例点击跳转专栏案例项目实战源码点击跳转专栏游戏脚本-辅助自动化点击跳转专栏Android控件全解手册点击跳转专栏Scratch编程案例点击跳转软考全系列点击跳转蓝桥系列
关于作者 专注于Android/Unity和各种游戏开发技巧以及各种资源分享网站、工具、素材、源码、游戏等 有什么需要欢迎底部卡片私我获取更多支持交流让学习不再孤单。 实践过程
需要所有整理的文档可底部卡片联系我直接发压缩包。
生命之树
在X森林里上帝创建了生命之树。
他给每棵树的每个节点叶子也称为一个节点上都标了一个整数代表这个点的和谐值。 上帝要在这棵树内选出一个非空节点集S使得对于S中的任意两个点a,b都存在一个点列 {a, v1, v2, …, vk, b} 使得这个点列中的每个点都是S里面的元素且序列中相邻两个点间有一条边相连。
在这个前提下上帝要使得S中的点所对应的整数的和尽量大。 这个最大的和就是上帝给生命之树的评分。
经过atm的努力他已经知道了上帝给每棵树上每个节点上的整数。但是由于 atm 不擅长计算他不知道怎样有效的求评分。 他需要你为他写一个程序来计算一棵树的分数。
「输入格式」 第一行一个整数 n 表示这棵树有 n 个节点。 第二行 n 个整数依次表示每个节点的评分。 接下来 n-1 行每行 2 个整数 u, v表示存在一条 u 到 v 的边。由于这是一棵树所以是不存在环的。
「输出格式」 输出一行一个数表示上帝给这棵树的分数。
「样例输入」 5 1 -2 -3 4 5 4 2 3 1 1 2 2 5
「样例输出」 8
#include iostream
#include vectorusing namespace std;
int n;
const int MaxN 1e5;
long long w[MaxN 1];//每个点的权重
//long long ww[MaxN 1];//每个点作为根节点时能得到的最大权和
long long ans;
vectorint g[MaxN 1];//邻接表/*以root为根算出最大的权和*/
void dfs(int root, int fa) {
// ww[root] w[root];for (int i 0; i g[root].size(); i) {int son g[root][i];//其中一个孩子if (son ! fa) {dfs(son, root);if (w[son] 0)w[root] w[son];}}if (w[root] ans)ans w[root];
}int main(int argc, const char *argv[]) {freopen(/Users/zhengwei/workspace/lanqiaobei2019/src/2015_Java_B/data10/in8.txt,r,stdin);scanf(%d, n);for (int i 1; i n; i) {scanf(%lld, w[i]);}for (int j 0; j n - 1; j) {int u, v;scanf(%d %d, u, v);g[u].push_back(v);g[v].push_back(u);}
// 输入处理完成dfs(1, 0);printf(%lld\n, ans);return 0;
}消除尾一
下面的代码把一个整数的二进制表示的最右边的连续的1全部变成0 如果最后一位是0则原数字保持不变。
如果采用代码中的测试数据应该输出 00000000000000000000000001100111 00000000000000000000000001100000 00000000000000000000000000001100 00000000000000000000000000001100 请仔细阅读程序填写划线部分缺少的代码。
#include stdio.hvoid f(int x)
{int i;for(i0; i32; i) printf(%d, (x(31-i))1);printf( );x _______________________;for(i0; i32; i) printf(%d, (x(31-i))1);printf(\n);
}int main()
{f(103);f(12);return 0;
}#include stdio.hvoid f(int x)
{int i;for(i0; i32; i) printf(%d, (x(31-i))1);printf( );x x(x1);for(i0; i32; i) printf(%d, (x(31-i))1);printf(\n);
}int main()
{f(103);f(12);return 0;
}
密码脱落
X星球的考古学家发现了一批古代留下来的密码。 这些密码是由A、B、C、D 四种植物的种子串成的序列。 仔细分析发现这些密码串当初应该是前后对称的也就是我们说的镜像串。 由于年代久远其中许多种子脱落了因而可能会失去镜像的特征。
你的任务是 给定一个现在看到的密码串计算一下从当初的状态它要至少脱落多少个种子才可能会变成现在的样子。 输入一行表示现在看到的密码串长度不大于1000 要求输出一个正整数表示至少脱落了多少个种子。
例如输入 ABCBA 则程序应该输出 0
再例如输入 ABDCDCBABC 则程序应该输出 3
#include stdio.h
#include cstring
#include algorithmusing namespace std;int dfs(char *s, int left, int right,int cnt);
char s[1000];
int main(int argc, const char * argv[]) {scanf(%s,s);int lenstrlen(s);int ansdfs(s,0,len-1,0);printf(%d\n,ans);return 0;
}int dfs(char *s, int left, int right,int cnt) {if(leftright)return cnt;if(*(sleft)!*(sright))//两端不等return min(dfs(s,left1,right,cnt1),dfs(s,left,right-1,cnt1));elsereturn dfs(s,left1,right-1,cnt);
}生日蜡烛
某君从某年开始每年都举办一次生日party并且每次都要吹熄与年龄相同根数的蜡烛。
现在算起来他一共吹熄了236根蜡烛。
请问他从多少岁开始过生日party的
请填写他开始过生日party的年龄数。
#include iostream
using namespace std;
int main(int argc, const char * argv[]) {
// 枚举两个年龄for (int i 1; i 100; i) {for (int j i; j 100 ; j) {if((ij)*(j-i1)/2236)couti jendl;}}
// 枚举生日举办次数for (int i 1; i 100; i) {int ti*(i-1)/2;if((236-t)%i0) {
// 输出首项cout(236-t)/i iendl;}}return 0;
}其他 作者小空和小芝中的小空 转载说明-务必注明来源https://zhima.blog.csdn.net/ 这位道友请留步☁️我观你气度不凡谈吐间隐隐有王者霸气日后定有一番大作为旁边有点赞收藏今日传你点了吧未来你成功☀️我分文不取若不成功⚡️也好回来找我。 温馨提示点击下方卡片获取更多意想不到的资源。