博客
关于我
Flower
阅读量:389 次
发布时间:2019-03-05

本文共 1135 字,大约阅读时间需要 3 分钟。

要解决这个问题,我们需要确定是否可以通过每次修剪n-1朵花,使得所有花的高度最终相同。如果可以实现,就输出需要的次数,否则输出-1。

方法思路

  • 问题分析:每次操作必须修剪n-1朵花,剩下的那一朵保持不变。我们需要找到一种方法,使得所有花的高度最终相同。
  • 关键观察:如果我们能够将所有花的高度调整为相同值h,那么每朵花的高度h必须等于其初始高度减去所有在它被修剪时减去的数的总和。
  • 数学条件:为了使所有花的高度相同,必须满足最大高度与其他所有高度的总和之差能被n-1整除。具体来说,计算最大高度与其他所有高度的总和的差值,如果这个差值能被n-1整除,那么就可以实现目标,否则不行。
  • 实现步骤
    • 计算最大高度与其他所有高度的总和的差值。
    • 检查这个差值是否能被n-1整除。
    • 如果可以整除,输出次数;否则输出-1。
  • 解决代码

    #include 
    #include
    using namespace std;int a[100005], n, sum, i;int main() { ios::sync_with_stdio(false); cin.tie(0), cout.tie(0); int t; cin >> t; while (t--) { cin >> n; sum = 0; for (i = 0; i < n; i++) { a[i] = cin >> i; } sort(a, a + n); int max_val = a[n - 1]; for (i = 0; i < n - 1; i++) { sum += (max_val - a[i]); } if (sum % (n - 1) != 0) { cout << -1; } else { int count = sum / (n - 1); cout << count; } }}

    代码解释

    • 输入处理:读取测试用例的数量t,然后对于每个测试用例,读取n和n个花的高度。
    • 排序:对花的高度进行排序,以便后续计算。
    • 计算总和:计算最大高度与其他所有高度的总和的差值。
    • 检查条件:检查这个总和是否能被n-1整除。如果能,输出需要的次数;否则输出-1。

    通过这种方法,我们可以有效地判断是否可以通过每次修剪n-1朵花,使得所有花的高度相同,并输出需要的次数或-1。

    转载地址:http://ytwzz.baihongyu.com/

    你可能感兴趣的文章
    mysqldump的一些用法
    查看>>
    mysqli
    查看>>
    MySQLIntegrityConstraintViolationException异常处理
    查看>>
    mysqlreport分析工具详解
    查看>>
    MySQLSyntaxErrorException: Unknown error 1146和SQLSyntaxErrorException: Unknown error 1146
    查看>>
    Mysql_Postgresql中_geometry数据操作_st_astext_GeomFromEWKT函数_在java中转换geometry的16进制数据---PostgreSQL工作笔记007
    查看>>
    mysql_real_connect 参数注意
    查看>>
    mysql_secure_installation初始化数据库报Access denied
    查看>>
    MySQL_西安11月销售昨日未上架的产品_20161212
    查看>>
    Mysql——深入浅出InnoDB底层原理
    查看>>
    MySQL“被动”性能优化汇总
    查看>>
    MySQL、HBase 和 Elasticsearch:特点与区别详解
    查看>>
    MySQL、Redis高频面试题汇总
    查看>>
    MYSQL、SQL Server、Oracle数据库排序空值null问题及其解决办法
    查看>>
    mysql一个字段为空时使用另一个字段排序
    查看>>
    MySQL一个表A中多个字段关联了表B的ID,如何关联查询?
    查看>>
    MYSQL一直显示正在启动
    查看>>
    MySQL一站到底!华为首发MySQL进阶宝典,基础+优化+源码+架构+实战五飞
    查看>>
    MySQL万字总结!超详细!
    查看>>
    Mysql下载以及安装(新手入门,超详细)
    查看>>