你有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; }