1 条题解

  • 0
    @ 2026-1-27 22:59:22
    #include<bits/stdc++.h>
    using namespace std;
    
    int main(){
        // [1] 外层循环:遍历成人可能的人数i,i从1开始(成人至少1人),最大为40/8=5(成人票8元,总预算40元)
        for(int i=1;i<=40/8;i++){//成人的个数 i 
            // [2] 内层循环:遍历儿童可能的人数j,j从40/3(约13,儿童票3元,总预算40元)开始递减到1(儿童至少1人)
            //     递减遍历保证找到的儿童人数从多到少,与题目要求的输出顺序一致
            for(int j=40/3;j>=1;j--){//儿童的个数 j
                // [3] 条件判断:当前成人人数i和儿童人数j的总票价是否恰好为40元
                if(i*8+j*3==40){
                    // [4] 满足条件则输出成人人数和儿童人数,按成人从少到多、儿童从多到少的顺序输出
                    cout<<i<<" "<<j<<endl;
                }
            }
        }
        return 0;
    }
    
    • 1

    信息

    ID
    1048
    时间
    1000ms
    内存
    256MiB
    难度
    1
    标签
    递交数
    2
    已通过
    1
    上传者