PAT 甲级题目讲解:1011《World Cup Betting》 ✅ PAT 甲级题目讲解1011《World Cup Betting》 摘要本文讲解 PAT 甲级 1011《World Cup Betting》解题思路核心是每轮选择最大赔率并记录对应的下注选项W/T/L累乘后根据公式(ans * 0.65 - 1) * 2计算收益并保留两位小数输出考察数组操作、最大值查找及格式化输出。 题目简介本题以 2010 南非世界杯为背景讲述了中国体育彩票提供的一个叫做 “Triple Winning三选一” 的投注玩法。每场比赛都有三个可能的结果可以投注WWin胜TTie平LLose负每个结果都有对应赔率即押中后按赔率收益。玩家选择任意3 场比赛每场选择一个结果投注总收益计算方式为profit(a1×a2×a3×0.65−1)×2 \text{profit} (a_1 \times a_2 \times a_3 \times 0.65 - 1) \times 2profit(a1​×a2​×a3​×0.65−1)×2a1,a2,a3a_1, a_2, a_3a1​,a2​,a3​三场比赛中各自选择的最大赔率0.65是系统扣率即乘积赔率会乘上 65%减去1是减掉本金再乘2是因为下注金额为 2 元。要求获得最大收益的下注顺序以及最大收益是多少。 样例分析输入样例1.1 2.5 1.7 1.2 3.1 1.6 4.1 1.2 1.1分析过程第一轮最大赔率 2.5T第二轮最大赔率 3.1T第三轮最大赔率 4.1W最大收益计算如下ans(2.5×3.1×4.1×0.65−1)×2(31.775×0.65−1)×2(20.65375−1)×219.65375×239.3075≈39.31 \text{ans} (2.5 \times 3.1 \times 4.1 \times 0.65 - 1) \times 2 \\ (31.775 \times 0.65 - 1) \times 2 \\ (20.65375 - 1) \times 2 19.65375 \times 2 39.3075 \approx 39.31ans(2.5×3.1×4.1×0.65−1)×2(31.775×0.65−1)×2(20.65375−1)×219.65375×239.3075≈39.31输出下注顺序然后保留两位小数输出最大收益T T W 39.31 解题思路考察基本的选择乘法浮点运算字符串映射输出的能力。解题核心是每轮选择最大赔率并记录对应下注选项最后进行浮点乘法与格式化输出。 变量说明表格变量名类型含义c[]char[]映射下标到选项字符W,T,La[]double[]当前一轮三种赔率ansdouble最终的累计收益乘积maxxdouble当前一轮最大赔率值dint当前一轮最大赔率对应选项下标1~3✅ Step 1初始化选项映射与累计收益charc[5]{ ,W,T,L};doublea[5],ans1;✅ Step 2封装处理每一轮赔率的函数使用函数f()来读取一轮的三个赔率找出最大值及其位置累乘最大赔率到ans输出对应的选项字符和空格。voidf(){doublemaxx0;intd0;for(inti1;i3;i){scanf(%lf,a[i]);if(a[i]maxx){maxxa[i];di;}}ans*maxx;printf(%c ,c[d]);}✅ Step 3主函数执行流程初始化收益乘积ans 1调用三次f()对应三轮比赛按题目规则计算最终收益输出保留两位小数的最终收益。intmain(){f();f();f();ans(ans*0.65-1)*2;printf(%.2lf,ans);return0;}✅ 完整代码C#includebits/stdc.husingnamespacestd;charc[5]{ ,W,T,L};doublea[5],ans1;voidf(){doublemaxx0;intd0;for(inti1;i3;i){scanf(%lf,a[i]);if(a[i]maxx){maxxa[i];di;}}ans*maxx;printf(%c ,c[d]);}intmain(){f();f();f();ans(ans*0.65-1)*2;printf(%.2lf,ans);return0;} 常见错误提醒错误类型具体表现索引从 0 开始错误c[]数组下标与赔率顺序不一致导致输出选项错误浮点精度问题没有使用%.2lf格式输出保留位数不对未初始化收益乘积忘记ans 1导致最终收益错误多余换行或空格输出格式不符合要求应仅用空格分隔✅ 总结归纳 核心方法总结每轮找最大值及其位置映射下标输出对应选项累乘赔率按题意公式计算收益。 技术要点回顾输入输出格式控制基础数组操作与映射逻辑简单浮点乘法与保留位数输出。 复杂度分析时间复杂度O(1)\mathcal{O}(1)O(1)仅处理常数个数据空间复杂度O(1)\mathcal{O}(1)O(1) 思维拓展若比赛轮数变为nnn轮如何改写程序支持动态输入本题实质是选择最大收益的策略问题可类比投资选择、博弈策略优化等模型。