2 条题解

  • 0
    @ 2024-2-24 14:03:35
    #include <bits/stdc++.h>
    using namespace std;
    int s[5], a[21],ans;
    int main()
    {
        for (int i = 1; i <= 4; i++){
            cin >> s[i];
        }
        for(int i=1;i<=4;i++){
            for(int j=1;j<=s[i];j++){
                cin>>a[j];
            }
            int minn=INT_MAX;
            for(int j=0;j<(1<<s[i]);j++){
            int sum1=0,sum2=0;
            for(int k=0;k<s[i];k++){
                if(j&(1<<k)){
                    sum1+=a[k+1];
                }
                else{
                    sum2+=a[k+1];
                }
            }
            minn=min(minn,max(sum1,sum2));
        }
        ans+=minn;
        }
        
        cout << ans;
        return 0;
    }
    
    1. 变量声明​:
      • s[5]:一个长度为5的数组,用于存储接下来要输入的4个集合的大小。
      • a[21]:一个长度为21的数组,用于存储所有集合中的元素。
      • ans:累加每个集合中找到的最小最大和。
    2. 输入​:
      • 首先,代码读取4个整数,分别存储在s[1]s[4]中,表示接下来要输入的4个集合的大小。
      • 然后,对于每个集合,代码读取相应数量的整数,并存储在a数组中。
    3. 处理​:
      • 对于每个集合(由s[i]定义大小),代码执行以下操作:
        • 初始化minnINT_MAX(整数的最大值),用于存储当前集合中找到的最小最大和。
        • 使用三层循环来遍历所有可能的子集组合:
          • 外层循环遍历所有子集(使用位运算表示)。
          • 中间层循环计算当前子集的元素和(sum1)和不在该子集中的元素和(sum2)。
          • 内层循环遍历集合中的每个元素,并根据当前子集的选择情况将其添加到sum1sum2中。
        • 使用minmax函数更新minn,以确保它是当前集合中找到的最小最大和。
      • minn累加到ans中。
    4. 输出​:
      • 输出ans,即所有集合中找到的最小最大和的累加值。
    • 0
      @ 2023-12-15 22:41:52
      #include <bits/stdc++.h>
      using namespace std;
      int s[5],ans,a[21];
      int main(){
          for(int i=1;i<=4;i++)cin>>s[i];
          for(int i=1;i<=4;i++){
              for(int j=1;j<=s[i];j++)cin>>a[j];
              int minn=INT_MAX;
              for(int j=1;j<(1<<s[i]);j++){
                  int sum1=0,sum2=0;
                  for(int k=0;k<s[i];k++){
                      if(j&(1<<k))sum1+=a[k+1];
                      else sum2+=a[k+1];}
                  minn=min(minn,max(sum1,sum2));
              }
              ans+=minn;
          }
          cout<<ans;
          return 0;}
      
      • 1

      信息

      ID
      613
      时间
      1000ms
      内存
      256MiB
      难度
      7
      标签
      递交数
      298
      已通过
      73
      上传者