网站建设的网络公司,众筹网站开发价格,wordpress能做pc移动端一体,neutral wordpresscsp信奥赛C标准模板库STL案例应用23 next_permutation实践
题目描述
将 1 , 2 , … , 9 1, 2,\ldots, 9 1,2,…,9 共 9 9 9 个数分成三组#xff0c;分别组成三个三位数#xff0c;且使这三个三位数的比例是 A : B : C A:B:C A:B:C#xff0c;试求出所有满足条件的三个…csp信奥赛C标准模板库STL案例应用23next_permutation实践题目描述将1 , 2 , … , 9 1, 2,\ldots, 91,2,…,9共9 99个数分成三组分别组成三个三位数且使这三个三位数的比例是A : B : C A:B:CA:B:C试求出所有满足条件的三个三位数若无解输出No!!!。//感谢黄小U饮品完善题意输入格式三个数A , B , C A,B,CA,B,C。输出格式若干行每行3 33个数字。按照每行第一个数字升序排列。输入输出样例 1输入 11 2 3输出 1192 384 576 219 438 657 273 546 819 327 654 981说明/提示保证0 ≤ A B C ≤ 999 0 \le ABC \le 9990≤ABC≤999。思路分析这个问题是一个数字组合问题要求使用数字1-9每个数字恰好用一次组成三个三位数这三个三位数要满足比例 A:B:C按第一个数升序输出所有解无解输出No!!!解题思路暴力枚举法使用1-9的所有排列共9!种对于每个排列前3位组成第一个数中间3位组成第二个数后3位组成第三个数检查这三个数是否满足比例 A:B:C优化利用next_permutation生成全排列自动按字典序排列用乘法验证比例n1*b n2*a n1*c n3*a代码实现#includebits/stdc.husingnamespacestd;inta,b,c;// 输入的比例系数A,B,Cintmain(){// 读入比例系数cinabc;// 初始化数组包含1-9这9个数字vectorintv;for(inti1;i9;i){v.push_back(i);}boolffalse;// 标记是否有解// 使用next_permutation生成1-9的所有全排列do{// 将排列分成三个三位数intn1v[0]*100v[1]*10v[2];// 前3位组成第一个数intn2v[3]*100v[4]*10v[5];// 中间3位组成第二个数intn3v[6]*100v[7]*10v[8];// 后3位组成第三个数// 检查比例关系避免浮点误差用乘法比较// 条件等价于n1/n2 a/b 且 n1/n3 a/cif(n1*bn2*an1*cn3*a){coutn1 n2 n3endl;ftrue;// 找到至少一个解}}while(next_permutation(v.begin(),v.end()));// 生成下一个排列// 如果没有找到任何解if(!f){coutNo!!!;}return0;}功能分析核心功能全排列生成使用next_permutation生成数字1-9的所有排列数字组合将每个排列分成三个三位数比例验证验证三个数是否满足A:B:C的比例输出控制按第一个数升序输出所有解next_permutation本身按字典序生成排列时间与空间复杂度时间复杂度O(9! * O(1)) ≈ O(362880)可以接受空间复杂度O(9)只存储1-9的排列算法特点简洁性利用STL的next_permutation简化了全排列生成正确性枚举所有可能组合不会漏解高效性用整数乘法避免浮点数精度问题完整系列资料请查看专栏《csp信奥赛C标准模板库STL》https://blog.csdn.net/weixin_66461496/category_13108077.html各种学习资料助力大家一站式学习和提升#includebits/stdc.husingnamespacestd;intmain(){cout########## 一站式掌握信奥赛知识! ##########;cout############# 冲刺信奥赛拿奖! #############;cout###### 课程购买后永久学习不受限制! ######;return0;}一、CSP信奥赛C通关学习视频课C语法基础C语法进阶C算法C数据结构CSP信奥赛数学CSP信奥赛STL二、CSP信奥赛C竞赛拿奖视频课信奥赛csp-j初赛高频考点解析CSP信奥赛C复赛集训课12大高频考点专题集训三、考级、竞赛刷题题单及题解GESP C考级真题题解CSP信奥赛C初赛及复赛高频考点真题解析CSP信奥赛C一等奖通关刷题题单及题解详细内容1、csp/信奥赛C完整信奥赛系列课程永久学习https://edu.csdn.net/lecturer/7901 点击跳转2、CSP信奥赛C竞赛拿奖视频课https://edu.csdn.net/course/detail/40437 点击跳转3、csp信奥赛冲刺一等奖有效刷题题解CSP信奥赛C初赛及复赛高频考点真题解析持续更新https://blog.csdn.net/weixin_66461496/category_12808781.html 点击跳转2025 csp-j 复赛真题及答案解析最新更新2025 csp-x(山东) 复赛真题及答案解析最新更新2025 csp-x(河南) 复赛真题及答案解析最新更新2025 csp-x(辽宁) 复赛真题及答案解析最新更新2025 csp-x(江西) 复赛真题及答案解析最新更新2025 csp-x(广西) 复赛真题及答案解析最新更新2020 ~ 2024 csp 复赛真题题单及题解2019 ~ 2022 csp-j 初赛高频考点真题分类解析2021 ~ 2024 csp-s 初赛高频考点解析2023 ~ 2024 csp-x (山东)初赛真题及答案解析2024 csp-j 初赛真题及答案解析2025 csp-j 初赛真题及答案解析最新更新2025 csp-s 初赛真题及答案解析最新更新2025 csp-x (山东)初赛真题及答案解析(最新更新)2025 csp-x (江西)初赛真题及答案解析(最新更新)2025 csp-x (辽宁)初赛真题及答案解析(最新更新)CSP信奥赛C一等奖通关刷题题单及题解持续更新https://blog.csdn.net/weixin_66461496/category_12673810.html 点击跳转129 道刷题练习和详细题解涉及模拟算法、数学思维、二分算法、 前缀和、差分、深搜、广搜、DP专题、 树和图4、GESP C考级真题题解GESP(C 一级二级三级)真题题解持续更新https://blog.csdn.net/weixin_66461496/category_12858102.html 点击跳转GESP(C 四级五级六级)真题题解持续更新https://blog.csdn.net/weixin_66461496/category_12869848.html 点击跳转· 文末祝福 ·#includebits/stdc.husingnamespacestd;intmain(){cout跟着王老师一起学习信奥赛C;cout 成就更好的自己 ;cout csp信奥赛一等奖属于你! ;return0;}