这是一道博弈论的题目,用DFS编程实现,即使是高手,也需要20分钟左右。因为数据较小,也可以手算分析,不过难度仍然较大。
2. 程序设计题
在2023年之前,程序设计题共8题,分值分别为10、10、15、15、20、20、25、25,总分为140。
2024年,程序设计题共6题,分值分别为10、10、15、15、20、20,总分为90。
下面先看一道简单题,考核思维。
这是一道思维题。
什么时候无解?如果第一颗或最后一颗棋子不同,无解。因为第一颗和最后一颗棋子不能翻转。
每颗能翻动的棋子只能翻一次,因为翻过之后,它和相邻棋子一样不能再翻了。要使S和T最终一样,那么每颗不同的棋子都要翻一次。所以一种简单且正确的方法是从左到右枚举,从S的第2颗棋子开始,与T比较,如果不同,就尝试翻动。如果能翻成一样,就继续翻,如果不能翻成一样,就无解。
再看一道难题。
题目的描述很简单,但是如何求解让人摸不着头脑。这道题100%的正解是杜教筛,属于高级知识点,在任何算法竞赛中都是难题。即使选手能做,蓝桥杯只给4小时的比赛时间,做到这一题时估计也没有时间了。这一题的30%的解法见第2章的讲解。
《蓝桥杯算法入门C/C++》版 正在预售
五折大优惠:
返回搜狐,查看更多