第十四届蓝桥杯大赛软件赛省赛C/C++大学B组注意!!!!!!!!!!这篇题解为赛时的个人做法,不代表是正确的,仅供参考。更新:思路上应该都对,很多题都有细节错误,代码不用看了,太久没敲代码了(--)更新2:代码除了岛屿的都改好了,整数删除常数有点大,可能会t,赛时的代码一堆错误,还是对自己的文章负责,省赛打的太放松了,应该多自己造几组样例测得。最后两题lca,板子有一行脑抽了写错了居然没发现,然后求lca我是前一题复制到后一题,两题的样例都能过,结果两题都错了,把那一行代码改完就都a了,蓝桥杯给的样例是在是太水了。。。。。自己还是太久没敲代码,变菜了。(T.T)试题A:日期统计dfs+剪枝即
目录试题A:门牌制作解题思路:答案:试题B:既约分数解题思路:答案:试题C:蛇形填数解题思路:答案:试题D:跑步训练解题思路:答案:试题E:七段码解题思路:答案:写在最后:试题A:门牌制作小蓝要为一条街的住户制作门牌号。这条街一共有2020位住户,门牌号从1到2020编号。小蓝制作门牌的方法是先制作0到9这几个数字字符,最后根据需要将字符粘贴到门牌上,例如门牌1017需要依次粘贴字符1、0、1、7,即需要1个字符0,2个字符1,1个字符7。请问要制作所有的1到2020号门牌,总共需要多少个字符2?解题思路:直接枚举就行啦:#includeusingnamespacestd;intmain(){
目录试题A:门牌制作解题思路:答案:试题B:既约分数解题思路:答案:试题C:蛇形填数解题思路:答案:试题D:跑步训练解题思路:答案:试题E:七段码解题思路:答案:写在最后:试题A:门牌制作小蓝要为一条街的住户制作门牌号。这条街一共有2020位住户,门牌号从1到2020编号。小蓝制作门牌的方法是先制作0到9这几个数字字符,最后根据需要将字符粘贴到门牌上,例如门牌1017需要依次粘贴字符1、0、1、7,即需要1个字符0,2个字符1,1个字符7。请问要制作所有的1到2020号门牌,总共需要多少个字符2?解题思路:直接枚举就行啦:#includeusingnamespacestd;intmain(){
在这组题(蓝桥杯C/C++B组国赛)里面挑了几道喜欢的题目,做了一下,笔记思路如下。(其实是我觉得能做出的题)题目图片来源于:CSDN罚时大师月色A:2022【题目大意】请问2022,拆分成10个不同的正整数有多少种不同的分法。【解析】这道题目,拿到手上的时候,第一个想法是暴力,但是,每次分别枚举10位上,到底数字是多少,比如,每一位枚举从1->200,那么复杂度是O(20010)O(200^{10})O(20010)。这个复杂度已经上天了。但是我想应该还是有,暴力的方法,因为可以每次暴力分成两半?让我再想想这个暴力算法。正解是,首先使用搜索,对于每一个位置进行搜索。rec(inti,intn
目录1.搬砖1.题目描述2.输入格式3.输出格式4.样例输入5.样例输出6.数据范围7.原题链接2.解题思路3.Ac_code1.搬砖1.题目描述这天,小明在搬砖。他一共有nnn块砖,他发现第iii砖的重量为wiw_{i}wi,价值为viv_{i}vi。他突然想从这些砖中选一些出来从下到上堆成一座塔,并且对于塔中的每一块砖来说,它上面所有砖的重量和不能超过它自身的价值。他想知道这样堆成的塔的总价值(即塔中所有砖块的价值和)最大是多少。2.输入格式输入共n+1n+1n+1行,第一行为一个正整数nnn,表示砖块的数量。后面nnn行,每行两个正整数wi,viw_i,v_iwi,vi分别表示每
目录1.搬砖1.题目描述2.输入格式3.输出格式4.样例输入5.样例输出6.数据范围7.原题链接2.解题思路3.Ac_code1.搬砖1.题目描述这天,小明在搬砖。他一共有nnn块砖,他发现第iii砖的重量为wiw_{i}wi,价值为viv_{i}vi。他突然想从这些砖中选一些出来从下到上堆成一座塔,并且对于塔中的每一块砖来说,它上面所有砖的重量和不能超过它自身的价值。他想知道这样堆成的塔的总价值(即塔中所有砖块的价值和)最大是多少。2.输入格式输入共n+1n+1n+1行,第一行为一个正整数nnn,表示砖块的数量。后面nnn行,每行两个正整数wi,viw_i,v_iwi,vi分别表示每
试题D:最少刷题数时间限制:1.0s内存限制:512.0MB本题总分:10分【问题描述】小蓝老师教的编程课有N名学生,编号依次是1...N。第i号学生这学期刷题的数量是Ai。对于每一名学生,请你计算他至少还要再刷多少道题,才能使得全班刷题比他多的学生数不超过刷题比他少的学生数。【输入格式】第一行包含一个正整数N。第二行包含N个整数:A1,A2,A3,...,AN.【输出格式】输出N个整数,依次表示第1...N号学生分别至少还要再刷多少道题。【样例输入】5121015206【样例输出】03007【评测用例规模与约定】对于30%的数据,1≤N≤1000,0≤Ai≤1000.对于100%的数据,1≤
试题D:最少刷题数时间限制:1.0s内存限制:512.0MB本题总分:10分【问题描述】小蓝老师教的编程课有N名学生,编号依次是1...N。第i号学生这学期刷题的数量是Ai。对于每一名学生,请你计算他至少还要再刷多少道题,才能使得全班刷题比他多的学生数不超过刷题比他少的学生数。【输入格式】第一行包含一个正整数N。第二行包含N个整数:A1,A2,A3,...,AN.【输出格式】输出N个整数,依次表示第1...N号学生分别至少还要再刷多少道题。【样例输入】5121015206【样例输出】03007【评测用例规模与约定】对于30%的数据,1≤N≤1000,0≤Ai≤1000.对于100%的数据,1≤
D:飞机降落(全排列) #include#includeusingnamespacestd;constintN=12;intn;structnode{intt,d,l;//t为此飞机的最早降落时间d为盘旋时间l为降落所需时间}p[N];boolst[N];//DFS求全排列模型booldfs(intu,intlast){if(u==n)returntrue;for(inti=0;i=last){//最晚降落时间t+d大于等于上一层的降落结束时刻st[i]=true;if(dfs(u+1,max(last,t)+l))returntrue;//当前层的最早降落结束时刻为max(last,t)+
目录试题F:时间显示解题思路代码试题G:砝码称重解题思路代码试题H:杨辉三角解题思路代码试题I:双向排序解题思路试题J:括号序列解题思路试题F:时间显示【问题描述】小蓝要和朋友合作开发一个时间显示的网站。在服务器上,朋友已经获取了当前的时间,用一个整数表示,值为从1970年1月1日00:00:00到当前时刻经过的毫秒数。现在,小蓝要在客户端显示出这个时间。小蓝不用显示出年月日,只需显示出时分秒即可,毫秒也不用显示,直接舍去即可。给定一个用整数表示的时间,请将这个时间对应的时分秒输出。【输入格式】输入一行包含一个整数,表示时间。【输出格式】输出时分秒表示的当前时间,格式形如HH:MM:SS ,其