首页 > 其他分享 >10789 神秘指数 数组 枚举 check

10789 神秘指数 数组 枚举 check

时间:2024-09-30 16:45:32浏览次数:7  
标签:神秘 int sum 枚举 分组 10789 check

解决思路

 
  • 计算总和:首先计算所有神秘物品的神秘指数和 sum。

 

  • 枚举分组数:从 n 开始枚举分组数 i,尝试将神秘物品分成 i 组。
 
  • 检查分组可行性:对于每个分组数 i,检查是否可以将神秘物品分成 i 组且每组的神秘指数和相同。
 
  • 输出结果:找到最小的可行分组数 i,输出每组的神秘指数和。
    #include <bits/stdc++.h>
    #define ll long long
    using namespace std;
    const int N = 1e3 + 10;
    int n, a[N], sum;
    
    // 检查是否可以将神秘物品分成 x 组且每组的神秘指数和相同
    bool check(int x) {
        int val = sum / x; // 每组的目标和
        int cnt = 0; // 当前组的和
        for (int i = 1; i <= n; i++) {
            cnt += a[i];
            if (cnt == val) {
                cnt = 0; // 当前组和达到目标,开始新的一组
            } else if (cnt > val) {
                return false; // 当前组和超过目标,分组失败
            }
        }
        return cnt == 0; // 检查最后一组是否正好达到目标和
    }
    
    int main() {
        // 读取神秘物品的数量
        cin >> n;
        // 读取每个神秘物品的神秘指数值,并计算总和
        for (int i = 1; i <= n; i++) {
            cin >> a[i];
            sum += a[i];
        }
        
        // 从 n 开始枚举分组数,找到最小的可行分组数
        for (int i = n; i >= 1; i--) {
            if (sum % i == 0 && check(i)) {
                cout << sum / i; // 输出每组的神秘指数和
                break;
            }
        }
        
        return 0;
    }

     

标签:神秘,int,sum,枚举,分组,10789,check
From: https://www.cnblogs.com/jyssh/p/18442131

相关文章

  • c# 排序、强转枚举
    List<Tuple<double,int>>mm中doble从小到大排序mm本身排序在C#中,如果你有一个List<Tuple<double,int>>类型的集合mm,并且你想要根据Tuple中的double值(即第一个元素)从小到大进行排序,同时希望这个排序能够反映到mm本身(即原地排序),你可以使用List的Sort方法,并传入一个自定义的比较......
  • 【题解】【子集枚举】—— PERKET
    【题解】【子集枚举】——PERKET[COCI2008-2009#2]PERKET题目描述输入格式输出格式输入输出样例输入#1输出#1输入#2输出#2输入#3输出#3提示数据规模与约定说明1.思路解析2.AC代码[COCI2008-2009#2]PERKET通往洛谷的传送门题目描述Perket是一种流行......
  • #1064-You hare an error in your SQL syntar:check the nanual that corresponds to y
    静态分析:分析时发现6个错误。1.不应出现的开始声明。(near“44”“atposition1)2,不应出现的开始声明。(near”‘use_polyfill“atposition6)3,不应出现的开始声明。(near”‘O‘“atposition21)4,不应出现的开始声明。(near”2“”atposition25)5.不应出现的开始声明。......
  • Java的枚举类型使用指南
    测试代码:publicclassEnumTest{publicstaticvoidmain(String[]args){Sizes=Size.SMALL;Sizet=Size.LARGE;//s和t引用同一个对象?System.out.println(s==t);////是原始数据类型吗?System.out.println(s.getClass().isPrimitive());......
  • disp_buffer_flags 枚举定义了一系列用于描述 framebuffer(帧缓冲区)特性的标志位
    disp_buffer_flags 枚举定义了一系列用于描述framebuffer(帧缓冲区)特性的标志位。这些标志位主要用于指示framebuffer的内容是如何组织的,特别是当涉及到立体视觉(3D显示)时。这些标志允许系统或应用程序知道如何正确地处理和显示framebuffer中的数据。下面是对每个标志位的具......
  • 枚举,精度,四则运算,加合集
    一.枚举类型仔细阅读示例:EnumTest.java,运行它,分析运行结果?代码如下:`publicclassEnumTest{publicstaticvoidmain(String[]args){ Sizes=Size.SMALL; Sizet=Size.LARGE; //s和t引用同一个对象? System.out.println(s==t); //是原始数据类型吗? System.out.pri......
  • checkbug论文查重系统怎么样?好用吗?
    在当今的学术环境中,论文查重已成为每一位学生和研究者不可或缺的一环。随着技术的进步,各种论文查重系统如雨后春笋般涌现,其中CheckBug论文查重系统以其独特的功能和广泛的用户基础,吸引了众多关注。那么,CheckBug论文查重系统究竟怎么样?它好用吗?本文将从多个维度进行深入剖析。......
  • 利用反射扫描枚举生成数据字典数据
    在开发过程中经常遇到既需要维护枚举来完成各种条件判断,又需要维护数据字典供前端使用,维护数据字典的另一个用处是可以修改数据字典的label而无需调整代码,但是这种两边维护的方式非常浪费人力资源,甚至有时部署程序忘了维护数据字典导致线上环境出现无法正常显示等问题。为解......
  • 枚举类型的基本用法(动手动脑)
    仔细阅读示例:EnumTest.java,运行它,分析运行结果?代码如下:`publicclassEnumTest{publicstaticvoidmain(String[]args){ Sizes=Size.SMALL; Sizet=Size.LARGE; //s和t引用同一个对象? System.out.println(s==t); //是原始数据类型吗? System.out.println(s.getCl......
  • Using DISM to Check and Repair Windows Image
    Youcanusethe SFC (SystemFileChecker)and DISM (DeploymentImageServicingandManagement)commandstocheckandrepairtheintegrityofsystemfilesandComponentStoreofyourWindows(WindowsServer)image.Thesetoolscanbeextremelyusefulifyo......