前言
想要了解粤港澳信息学创新大赛信息、有什么项目可以报名的可以查看上一篇博客:【CODEMATE】比较 粤港澳信息学创新大赛 Python赛项 初中组CMP0008:比较/高中组/体验题库CMEP45:比较/编号P03850/任意进制数之间比较/任意进制转换
问题描述
知识点:排序-排序概念/选择排序/插入排序/冒泡排序 体验题库 Python体验 难度值:4 尝试: 35 AC:1 上传者
题目描述
小明最近在学习数学问题,他遇到了一个有趣的问题。现在小明在纸上写了 2n 个数 a1,a2,a3,…,a2n。他希望将这些数两两一组划分,计算组内元素的差的绝对值再求和,使得和最小,即他希望将这些数填入下面这个式子中的未知数中,使得下面这个式子运算结果尽可能小。
|x2-x1| + |x4-x3| + |x6-x5| + … + |x2n-x2n-1|
请你帮助小明解决这个问题。
输入格式
第一行包含一个整数 n
第二行包含 2n 个整数,表示数的值。每两个数之间用空格分隔。
输出格式
输出一个整数,表示表达式的最小值。
Samples
输入数据 1
2
1 3 2 4
输出数据 1
2
样例解释 1
|1-2|+|3-4|=2,此时值最小
数据范围与提示
n ≤ 103 , 0 ≤ ai ≤ 109
做题思路、解决过程
输入、输出的代码思路
通过读题可以得知:
本程序至少有 3 个变量:n(决定列表长度)、li(用列表存放 2n 个整数)、min(表达式最小值)
1.输入部分分为两行,第一行接受一个参数 n,第二行接收一个长度为 2n 的列表。
2.输出部分为一个整数 min,计算 2n 个数两两相减后相加的最小值。
确定了以上两点,写代码时就要按着输入输出这两点要求去写。
首先,第 1 点(输入)的第一行:定义一个变量 n ,n 的值从键盘获取:
n = int(input())

最低0.47元/天 解锁文章
489

被折叠的 条评论
为什么被折叠?



