2019年蓝桥杯c/c++大学B组解题思路and参赛感受

    昨天追剧的时候看到同学给我发消息说成绩出来了,一看我们班五个人全都省一,我一惊,不过仔细一想今年题目确实简单,想着比赛完了还没写写考场上的思路,现在回忆回忆,记录一下。

第一题:直接手算,注意不要重复即可,我算的490

第二题:还是手算...可惜给算错了,填的BZQ,后来看网上答案应该是BYQ(完了完了,数数都不会了)

第三题:裴波那契改编来的,当时居然还想用字符串做...先跳过了,后来随便填了一个

第四题:先写个函数看看此数含不含2或4

bool isTrue(int x){
	int flag = 0;
	//遍历每一位 
	do{
		if(x%2==0||x%4==0)flag = 1;//含2或4就flag置1 
		x /= 10;
	}while(x!=0);
	if(flag)return false;
	return true;
}

接下来三重for循环,保证i<j<k即可不重复,每层循环用函数判断一下即可,这题挺暴力的...

第五题:这题第一反应应该是用广搜的,最后用深搜搞了半天还没搞出来,应该是剪枝出了问题 ,先不写了

第六题:用第四题的函数做...(蓝桥出题老师好懒啊)

第七题:考pat的后遗症,看到完全二叉树就直接建树了,后来看网上的用数组就能做。

我也差不多其实哈哈哈哈,静态树不就是数组吗,结构体里加了level记录层数的成员,前序中序后序随便哪一种遍历,开一个long long数组sum记录每一层权值之和,最后比较一下sum数组哪一层最大,记录,输出就完了

第八题:当时一看到这题心想,是我太水还是题太水(后来证明确实有陷阱,我被坑到),应该是排序+gcd,找出各个公差的最小公约数,再就好做了(居然还有公差为0的...要注意)

第九题:一开始看到这题,这是个简单贪心吧,也没多想,脑海里自动给每个数加上括号就开始做了

设一个值sum,先解决负号,因为负负得正嘛,先把最小的负数全部加到sum上(绝对值),同时记录负号剩余的个数,为零就不能加了。再把最大的正数也加到sum上,记录正号的个数。然后再减去没有访问过的数,没了...

第十题:看完就放弃了,把题目上的数据水上去提交了...

这次完全不像去年参加的时候,一是当时完全是一个数据结构都没学过的菜鸡,二是题目有点难?

但是这次好像也没涉及数据结构,除了第六题完全二叉树权值沾一点边吧。因为之前参加过三月的pat甲级,所以刷了甲级题库,虽然考完就瘫了二十天没写代码,现在想来真是罪过。不过总体还是:你有点代码量,应该就能水个省一(也有可能是我省大佬都不屑于参加蓝桥)

听说省赛有多水,国赛就有多难得睁不开眼,加油吧...还有好多高级数据结构没学,因为pat不涉及DP所以一直没看,国赛应该会出很多吧,需要看看练练

发布了38 篇原创文章 · 获赞 3 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_40167974/article/details/88900532