1 条题解

  • 0
    @ 2025-10-23 18:35:07

    思路分析

    1. 任务拆解:

    • 读取总金额n、小狗单价x、小猫单价y
    • 找到所有花光n元的购买方案(至少买1只小狗和1只小猫)
    • 统计满足条件的方案总数

    2. 关键点分析:

    • 小狗数量i的范围:从1到n/x(向下取整)
    • 对于每个小狗数量i,计算剩余金额
    • 检查剩余金额是否能被小猫单价整除且至少能买1只小猫
    • 统计所有满足条件的方案

    3. 步骤规划:

    • 读取n, x, y的值
    • 初始化计数器c为0
    • 循环枚举可能的小狗数量(从最大可能数量递减到1)
    • 计算买i只小狗后的剩余金额
    • 检查剩余金额是否能整除y且至少能买1只小猫
    • 满足条件则计数器加1
    • 输出方案总数

    4. 代码对应:

    • int c=0,n,x,y;cin>>n>>x>>y; → 初始化计数器并读取输入
    • for(int i=n/x;i>=1;i--) → 枚举小狗数量(从大到小)
    • int d=n-i*x; → 计算剩余金额
    • if(d>=y && d%y==0) → 检查剩余金额能买整数只小猫且至少1只
    • c++; → 满足条件则方案数加1
    • cout<<c; → 输出方案总数
    • 1

    信息

    ID
    17
    时间
    1000ms
    内存
    16MiB
    难度
    5
    标签
    (无)
    递交数
    859
    已通过
    326
    上传者