好久不见,最近参加了蓝桥的省赛,虽然只是省二,但是还是要总结一下

📅 2026/7/2 1:52:14
好久不见,最近参加了蓝桥的省赛,虽然只是省二,但是还是要总结一下
B4375 [蓝桥杯青少年组省赛 2025] 庆典队列题目描述有 名志愿者参加了一场庆典活动我们希望将这些人排成一个矩形队列要求队列共有 行且每一行的人数都要相等。请计算每一行最多有多少名志愿者。注意不一定要将所有的志愿者都安排进队列。例如表示要将 名志愿者排成一个 行的矩形队列那么每一行最多能安排 名志愿者。输入格式输入两个整数 和 分别表示志愿者人数以及矩形队列的行数整数之间以一个空格隔开。输出格式输出一个整数表示矩形队列的每一行最多有多少名志愿者。输入输出样例 #1输入 #150 11输出 #14一眼弱智题不想动脑直接枚举每一行人数使它*行数总人数最后再减1就好了代码如下#include bits/stdc.h using namespace std; int main(){ int a,b; cinab; int ans0; for(ans;ans*ba;ans){ } cout--ans; return 0; }2.B4376 [蓝桥杯青少年组省赛 2025] 茶具套装题目描述佳佳在一家茶具商店工作有客户要订购一些茶具套装一套完整的茶具套装包含 个茶壶、 个盖碗、 个茶漏以及 个茶杯。现在已知茶壶、盖碗、茶漏和茶杯各自的数量需要编写一个程序来计算最多能够组成多少套完整的茶具套装。例如茶壶、盖碗、茶漏和茶杯各自的数量分别是 。根据这些茶具的数量佳佳最多能组成 套完整的茶具套装。输入格式输入 个整数 整数 分别表示茶壶、盖碗、茶漏和茶杯各自的数量整数之间以一个空格隔开。输出格式zuiduan输出一个整数表示最多能组成完整的茶具套装数量。输入输出样例 #1输入 #13 4 2 13输出 #12思路只要看其中每一种茶具分别能凑多少套然后找其中最少的就好了#include bits/stdc.h using namespace std; int main(){ int a,b,c,d; cinabcd; coutmin({a,b,c,d/4}); return 0; }3.B4377 [蓝桥杯青少年组省赛 2025] 平衡奇偶位置的字符交换题目描述给定一个字符串 其中仅包含字符 和字符 。你每次可以选择交换两个位置相邻的字符请计算如果要使奇数位置上位置从 1 开始字符 的数量等于偶数位置上字符 的数量最少需要进行多少次交换操作。例如从左往右数奇数位置上字符 的数量为 位置 偶数位置上字符 的数量为 位置 、、。可将位置 的字符 和位置 的字符 交换。交换后奇数位置上字符 的数量和偶数位置上字符 的数量都为 满足题目要求故最少需要交换一次。输入格式输入一个字符串 的长度 其中仅包含字符 和字符 。输出格式输出一个整数表示满足题目要求的最少交换次数如果无论怎么交换都无法满足题目要求则输出 。输入输出样例 #1输入 #1AABABA输出 #11思路只要统计奇数位和偶数位上A的个数算出他们的差值就像两个小朋友给糖果多的给少的分分到一样就好了注意如果奇数位和偶数位上差值为奇数时是无法给到相同的所以由此可得一下代码#include bits/stdc.h using namespace std; int main(){ string st,s; cins; st ; sts; int ji0,o0; for(int i1;iint(st.size());i){ if(st[i]A){ if(i%21){ ji; }else{ o; } } } int mxmax(ji,o),mimin(ji,o); if((mx-mi)%21){ cout-1; return 0; } int ans0; while(mx!mi){ mx--; mi; ans; } coutans; //coutmx mi; //coutji o; return 0;