2026/4/16 21:53:00
网站建设
项目流程
华夏网站建设,免费的招标网站有哪些,app开发经费预算表,国外注册域名的网站欢迎大家订阅我的专栏#xff1a;算法题解#xff1a;C与Python实现#xff01; 本专栏旨在帮助大家从基础到进阶 #xff0c;逐步提升编程能力#xff0c;助力信息学竞赛备战#xff01;
专栏特色 1.经典算法练习#xff1a;根据信息学竞赛大纲#xff0c;精心挑选…欢迎大家订阅我的专栏算法题解C与Python实现本专栏旨在帮助大家从基础到进阶 逐步提升编程能力助力信息学竞赛备战专栏特色1.经典算法练习根据信息学竞赛大纲精心挑选经典算法题目提供清晰的代码实现与详细指导帮助您夯实算法基础。2.系统化学习路径按照算法类别和难度分级从基础到进阶循序渐进帮助您全面提升编程能力与算法思维。适合人群准备参加蓝桥杯、GESP、CSP-J、CSP-S等信息学竞赛的学生希望系统学习C/Python编程的初学者想要提升算法与编程能力的编程爱好者附上汇总帖历年CSP-X复赛真题解析 | 汇总B4072 小明的照片【题目来源】洛谷B4072 [CSP-X 2018] 小明的照片 - 洛谷【题目描述】国庆假期小明和爸爸妈妈一起外出旅游沿途拍摄了很多美丽的风景照片在返程的前一天晚上他整理了一下所有的照片手机里有x xx张平板电脑里有y yy张单反相机里有z zz张。小明计划开学后拿出n nn张照片与同学们分享请问他至少还需要再拍摄多少张照片【输入】一行四个正整数n , x , y , z n,x,y,zn,x,y,z中间用空格隔开。输入的数据保证现有的照片总数不超过n nn。【输出】一行只有一个整数表示还需要再拍摄的照片数量。【输入样例】30 8 2 10【输出样例】10【算法标签】《洛谷 B4072 小明的照片》 #CSP-X小学组# #2018# #山东#【代码详解】#includebits/stdc.husingnamespacestd;intn;// 总数intx;// 第一类数量inty;// 第二类数量intz;// 第三类数量intmain(){// 输入总数和三类数量cinnxyz;/** * 计算并输出剩余数量 * 总数减去三类已知数量 * 用于计算未被分类的数量 */coutn-x-y-zendl;return0;// 程序正常结束}【运行结果】30 8 2 10 10B4073 快递费用【题目来源】洛谷B4073 [CSP-X 2018] 快递费用 - 洛谷【题目描述】某快递公司按邮寄物品的重量收费收费标准如下重量在500 500500克以内的一律20 2020元超过500 500500克的超重的部分按每500 500500克加收费用。超出的重量不足500 500500克的按500 500500克计算。例如1020 10201020克超重520 520520克需加收两份费用。根据目的地的不同加收的费用是不一样的。快递公司划分了五个目的地区域区域1 11每超重500 500500克加收4 44元区域2 22每超重500 500500克加收6 66元区域3 33每超重500 500500克加收9 99元区域4 44每超重500 500500克加收10 1010元区域5 55每超重500 500500克加收17 1717元。给出物品的重量w ww和目的地区域编号n nn请你计算快递费用。【输入】一行两个正整数w , n w,nw,n。【输出】一行一个整数表示快递费用。【输入样例】1020 3【输出样例】38【算法标签】《洛谷 B4073 快递费用》 #CSP-X小学组# #2018# #山东#【代码详解】#includebits/stdc.husingnamespacestd;intw;// 输入的总重量单位克inta[6]{0,4,6,9,10,17};// 不同包裹类型对应的价格数组intn;// 包裹类型1-5intans;// 最终计算的总价格intt;// 计算所需的包裹数量intmain(){// 输入总重量和包裹类型cinwn;// 初始化基础价格为20元ans20;// 扣除首重500克w-500;// 计算超出部分所需的500克单位数量tw/500;// 如果有余数需要多算一个单位if(w%500){t;}// 计算总价格基础价格 超重部分价格anst*a[n];// 输出最终价格coutans;return0;}【运行结果】1020 3 38B4074 统计成绩【题目来源】洛谷[B4074 CSP-X 2018] 统计成绩 - 洛谷【题目描述】考试结束之后每位同学都依据成绩获得相应的等级优秀90 ∼ 100 90\sim 10090∼100良好80 ∼ 89 80\sim 8980∼89及格60 ∼ 79 60\sim7960∼79不及格60 6060以下。现在需要统计一下获得每个等级的人数分别是多少。【输入】第一行一个正整数n nn表示总人数。第二行n nn个由空格隔开的整数表示每个同学的成绩0 ∼ 100 0\sim1000∼100。【输出】共四行每行一个整数依次表示获得优秀、良好、及格、不及格等级的人数。【输入样例】10 93 33 86 81 47 82 84 92 73 94【输出样例】3 4 1 2【算法标签】《洛谷 B4074 统计成绩》 #CSP-X小学组# #2018# #山东#【代码详解】#includebits/stdc.husingnamespacestd;intn;// 学生人数inta,b,c,d;// 四个等级的人数统计// a: 90分及以上// b: 80-89分// c: 60-79分// d: 60分以下intmain(){// 输入学生人数cinn;// 遍历每个学生的成绩for(inti1;in;i){intx;// 学生成绩cinx;// 根据成绩等级进行统计if(x90)// 90分及以上{a;}elseif(x80)// 80-89分{b;}elseif(x60)// 60-79分{c;}else// 60分以下{d;}}// 输出各等级人数每个等级一行coutaendl;// 90分及以上人数coutbendl;// 80-89分人数coutcendl;// 60-79分人数coutdendl;// 60分以下人数return0;}【运行结果】10 93 33 86 81 47 82 84 92 73 94 3 4 1 2B4075 11 的倍数【题目来源】洛谷[B4075 CSP-X 2018] 11 的倍数 - 洛谷【题目描述】如何判断一个正整数x xx是不是3 33的倍数可以计算x ÷ 3 x\div3x÷3所得的余数如果余数等于0 00那么x xx是3 33的倍数。还可以用下面的方法来判断把x xx的个位数字、十位数字、百位数字……相加如果所得的和是3 33的倍数那么x xx就是3 33的倍数。例如x 8511 x 8511x85118 5 1 1 15 85111585111515 1515是3 33的倍数那么8511 85118511就是3 33的倍数。接下来你的任务是判断x xx是不是11 1111的倍数。有一个与判断是不是3 33的倍数类似的方法供你参考把x xx的个位、百位、万位……上的数字求和得s 1 s_1s1把x xx的十位、千位、十万位……上的数字求和得s 2 s_2s2如果s 1 ÷ 11 s_1\div11s1÷11所得的余数 s 2 ÷ 11 s_2\div11s2÷11所得的余数那么x xx就是11 1111的倍数。例如x 3162819 x3162819x3162819s 1 3 6 8 9 26 s_1 3689 26s1368926s 2 1 2 1 4 s_2 121 4s21214。因为26 ÷ 11 26\div1126÷11余4 444 ÷ 11 4\div114÷11也余4 44所以3162819 31628193162819是11 1111的倍数。【输入】第一行一个正整数n nn。以下n nn行每行一个正整数x i x_ixi需要你判断x i x_ixi是不是11 1111的倍数。【输出】n nn行每行输出一个Yes \texttt{Yes}Yes或No \texttt{No}No表示x i x_ixi是不是11 1111的倍数。【输入样例】3 2035 62202 335【输出样例】Yes No No【算法标签】《洛谷 B4075 11的倍数》 #CSP-X小学组# #2018# #山东#【代码详解】#includebits/stdc.husingnamespacestd;intn;// 存储测试用例的数量string s;// 存储输入的数字字符串// 检查字符串t是否满足奇偶位数字和模11同余的条件boolcheck(string t){ints10,s20;// s1: 偶数位索引为0,2,4,...的数字和, s2: 奇数位索引为1,3,5,...的数字和// 遍历字符串t的每个字符for(inti0;it.size();i){if(i%20)// 如果是偶数位s1t[i]-0;// 将该位的数字加到s1else// 如果是奇数位s2t[i]-0;// 将该位的数字加到s2}// 检查s1和s2对11取模的结果是否相同returns1%11s2%11;}intmain(){cinn;// 输入测试用例的数量// 处理每个测试用例while(n--){cins;// 输入一个数字字符串// 检查字符串s是否满足条件if(check(s))coutYesendl;// 满足条件则输出YeselsecoutNoendl;// 不满足条件则输出No}return0;}【运行结果】3 2035 Yes 62202 No 335 No