你有3个需要完成的任务,完成这3个任务是需要付出代价的。
首先,你可以不花任何代价的完成一个任务;然后,在完成了第i个任务之后,你可以花费|Ai - Aj|的代价完成第j个任务。|x|代表x的绝对值。
计算出完成所有任务的最小代价。
一行3个整数A1,A2,A3,每个数字之间用一个空格分隔。所有数字都是整数,并且在[1,100]范围内。
一个整数,代表最小的代价。
1 6 3
5
10 10 10
0
#include <stdio.h>
#include <stdlib.h>
int main() {
int A[3];
int i, j, k, cost, min_cost = 1000000;
// 输入三个数
for (i = 0; i < 3; i++) {
scanf("%d", &A[i]);
}
// 枚举三个任务的完成情况,并计算总代价
for (i = 0; i < 3; i++) {
for (j = 0; j < 3; j++) {
if (i == j) continue; // 任务不能重复完成
for (k = 0; k < 3; k++) {
if (i == k || j == k) continue; // 任务不能重复完成
// 计算总代价
cost = abs(A[i] - A[j]) + abs(A[j] - A[k]);
if (cost < min_cost) {
min_cost = cost;
}
}
}
}
// 输出最小代价
printf("%d\n", min_cost);
return 0;
}