Kamacoder第八题摆平积木的C语言解法

news2025/1/20 1:35:20

8. 摆平积木

时间限制:1.000S  空间限制:32MB

题目描述

小明很喜欢玩积木。一天,他把许多积木块组成了好多高度不同的堆,每一堆都是一个摞一个的形式。然而此时,他又想把这些积木堆变成高度相同的。但是他很懒,他想移动最少的积木块来实现这一目标,你能帮助他吗?

输入描述

输入包含多组测试样例。每组测试样例包含一个正整数n,表示小明已经堆好的积木堆的个数。
接着下一行是n个正整数,表示每一个积木堆的高度h,每块积木高度为1。其中1<=n<=50,1<=h<=100。
测试数据保证积木总数能被积木堆数整除。
当n=0时,输入结束。

输出描述

对于每一组数据,输出将积木堆变成相同高度需要移动的最少积木块的数量。
在每组输出结果的下面都输出一个空行。

输入示例
6
5 2 4 1 7 5
0
输出示例
5

 C语言的解法:

#include <stdio.h>
#include <stdlib.h>
int main(){
    int N=0;
    while(scanf("%d",&N)!=EOF){
        if(N==0) break;
        int *p =(int *)malloc(sizeof(int)*N);
        int sum=0;
        for(int i=0;i<N;i++){
            scanf("%d",p+i);
            sum+= (*(p+i));
        }
        int target = sum/N;
        for(int i=0;i<N-1;i++){
            for(int j=0;j<N-1-i;j++){
                int tmp=0;
                if(*(p+j)< *(p+j+1)){
                    tmp = *(p+j);
                    *(p+j) = *(p+j+1);
                    *(p+j+1) = tmp;
                }
            }
        }
        int count=0;
        for(int k=0;k<N;k++){
            if(*(p+k)>target) count+=(*(p+k)-target);
        }
        printf("%d\n",count);
        printf("\n");
    }
}

 关键是malloc动态分配数组和排序。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1475425.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[足式机器人]Part2 Dr. CAN学习笔记-Ch00-2 - 数学知识基础

本文仅供学习使用 本文参考: B站:DR_CAN 《控制之美(卷1)》 王天威 《控制之美(卷2)》 王天威 Dr. CAN学习笔记-Ch00 - 数学知识基础 Part2 4. Ch0-4 线性时不变系统中的冲激响应与卷积4.1 LIT System:Linear Time Invariant4.2 卷积 Convolution4.3 单位冲激 Unit Impulse—…

上传大文件报错No data found for resource with given identifier

预览中的数据No data found for resource with given identifier 首先以为是nginx问题查看nginx日志 39.89.216.201 - - [27/Feb/2024:10:14:53 0800] "POST /api/crm/clue/upload HTTP/1.1" 499 0 "https://op-dev.*.com/customer/clue-management" &qu…

163邮箱SMTP端口号及服务器地址详细设置?

163邮箱SMTP端口号是什么&#xff1f;163邮件SMTP设置教程&#xff1f; 除了基本的邮箱账号和密码外&#xff0c;还需要了解SMTP服务器地址和端口号&#xff0c;以及相应的设置。这些设置对于确保邮件能够顺利发送至关重要。下面&#xff0c;蜂邮EDM将详细介绍163邮箱SMTP端口…

idea生成WebServices接口

文章目录 idea生成WebServices接口1.创建接口2.生成wsdl文件3.在soapUI中&#xff0c;生成6个文件4.将生成的文件拷贝到工程中5.在service-config中注册服务 idea生成WebServices接口 1.创建接口 新建一个webServices工程&#xff0c;按照接口规范生成接口、请求类、响应类。…

phpldapadmin This base cannot be created with PLA

phpldapadmin This base cannot be created with PLA 1、问题描述2、问题分析3、解决方法&#xff1a;创建根节点 1、问题描述 安装phpldapadmin参考链接: https://blog.csdn.net/OceanWaves1993/article/details/136048686?spm1001.2014.3001.5501 刚安装完成phpldapadmin&…

2024全新版EasyRecovery14数据恢复软件功能详细分析

一、功能概述 EasyRecovery14是一款功能全面的数据恢复软件&#xff0c;它提供了从各种存储设备&#xff08;如硬盘、U盘、SD卡、数码相机等&#xff09;中恢复丢失或删除数据的能力。该软件支持多种恢复模式&#xff0c;包括快速恢复、深度扫描、格式化恢复等&#xff0c;以满…

C语言 int和unsigned int逻辑比较

文章目录 测试1、测试 CMP (int,int)2、测试 CMP (int ,unsigned int)3、测试 CMP (unsigned int ,unsigned int)4、测试 CMP(int ,常量&#xff09; 总结 测试 在IAR(8.40.2)平台下测试单片机为STM32F103ZET6 1、测试 CMP (int,int) //a -2,b 3 int test_fun(int a, int…

vue组件中data为什么必须是一个函数

查看本专栏目录 关于作者 还是大剑师兰特&#xff1a;曾是美国某知名大学计算机专业研究生&#xff0c;现为航空航海领域高级前端工程师&#xff1b;CSDN知名博主&#xff0c;GIS领域优质创作者&#xff0c;深耕openlayers、leaflet、mapbox、cesium&#xff0c;canvas&#x…

R语言——条形图数据可视化的多种方式

本文章将会介绍如何使用R语言中的ggplot2包使用条形图进行数据可视化。将会使用一个“生产企业原材料的订购与运输”的订单数据&#xff0c;该数据来自2021数学建模国赛C题。 某建筑和装饰板材的生产企业所用原材料主要是木质纤维和其他植物素纤维材料总体可分为 A B C 三种类…

LeetCode 刷题 [C++] 第240题.搜索二维矩阵 II

题目描述 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性&#xff1a; 每行的元素从左到右升序排列。 每列的元素从上到下升序排列。 题目分析 通过分析矩阵的特点发现&#xff0c;其左下角和右上角可以看作一个“二叉搜索树的根节…

ROS-Ubuntu 版本相关

ROS-Ubuntu 版本相关&#xff1a;安装指引 年代ROS1版本Ubuntu 版本2014Indigo14.042016Kinetic16.042018Melodic18.042020Noetic20.04 & 22.04 ROS2兼顾了工业使用上的问题。 年代ROS2版本Ubuntu 版本2022Humble20.04 & 22.042023Iron16.04 相关参考&#xff1a; […

MySQL进阶:大厂高频面试——各类SQL语句性能调优经验

&#x1f468;‍&#x1f393;作者简介&#xff1a;一位大四、研0学生&#xff0c;正在努力准备大四暑假的实习 &#x1f30c;上期文章&#xff1a;MySQL进阶&#xff1a;强推&#xff0c;冲大厂必精通&#xff01;MySQL索引底层&#xff08;BTree&#xff09;、性能分析、使用…

【Java程序设计】【C00336】基于Springboot的防疫物资管理系统(有论文)

基于Springboot的防疫物资管理系统&#xff08;有论文&#xff09; 项目简介项目获取开发环境项目技术运行截图 项目简介 这是一个基于Springboot的防疫物资管理系统&#xff0c;本系统有管理员以及用户二种角色&#xff1b; 管理员&#xff1a;个人中心、管理员管理、用户管理…

AI领域的从业女性, 合成数据和减少AI的偏见等议题

关于企业AI领域创新举措的新闻层出不穷&#xff0c;澳鹏也不例外。AI领域的女性、数据管理和偏见减少的专家建议以及合成数据突破等内容成为今年第三季度各大媒体出版物的头版头条&#xff01;请继续阅读&#xff0c;了解新闻媒体对澳鹏上一季度表现的评价。 ‘虚假’数据如何对…

laravel8配合jwt

composer 安装包 composer require tymon/jwt-authconfig/app.php 注册服务提供者 providers > [Tymon\JWTAuth\Providers\LaravelServiceProvider::class, ]aliases > [JWTAuth > Tymon\JWTAuth\Facades\JWTAuth::class,JWTFactory > Tymon\JWTAuth\Facades\JWT…

Web服务器群集:OpenEuler 部署 LAMP(LNMP) 基础服务

目录 一、实验 1.环境 2. 网络配置 3. MobaXterm远程连接 4. apache 2.4.58 源码编译安装 5. php 8.3.1源码编译安装 6.配置httpd 连接 php-fpm 6. nginx 1.24.0源码编译安装 7. mysql 8.0.36安装 二、问题 1.MobaXterm设置右键复制粘贴 2.OpenEuler如何查看CPU的核…

String LCM

题目链接&#xff1a;Problem - 1473B - Codeforces 解题思路&#xff1a; 先算出两个字符串的最小公倍数&#xff0c;再分别除以字符串长度&#xff0c;构造出两个新的字符串&#xff0c;就是最小公倍数除以老字符串长度个老字符串相加&#xff0c;打个比方&#xff0c;a字符…

STM32驱动SHT30温湿度传感器

这次分享stm32驱动sht30温湿度传感器的方法和代码&#xff0c;这款传感器是仪器仪表行业上常用的一款型号。 目录 1.配置IO 2.写上通用的IIC协议 3.主函数获取数据 1.配置IO 我用到的IO口是 PB15---SCL PB14---SDA IIC中SDA和SCL引脚是开漏电路形式&#xff0c;所以SDA…

小程序框架(概念、工作原理、发展及应用)

引言 移动应用的普及使得用户对于轻量级、即时可用的应用程序需求越来越迫切。在这个背景下&#xff0c;小程序应运而生&#xff0c;成为一种无需下载安装、即点即用的应用形式&#xff0c;为用户提供了更便捷的体验。小程序的快速发展离不开强大的开发支持&#xff0c;而小程…

Java+SpringBoot+Vue:瑜伽馆管理的黄金组合

✍✍计算机毕业编程指导师 ⭐⭐个人介绍&#xff1a;自己非常喜欢研究技术问题&#xff01;专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目&#xff1a;有源码或者技术上的问题欢迎在评论区一起讨论交流&#xff01; ⚡⚡ Java、…