赞
踩
题目描述:
英雄联盟是一款十分火热的对战类游戏。每一场对战有10位玩家参与,分为两组,每组5人。每位玩家都有一个战斗力,代表着这位玩家的厉害程度。为了对战尽可能精彩,我们需要把玩家们分为实力尽量相等的两组。一组的实力可以表示为这一组5位玩家的战斗力和。现在,给你10位玩家的战斗力,请你把他们分为实力尽量相等的两组。请你输出这两组的实力差。
解答要求 时间限制:1000ms, 内存限制:64MB
输入
10个整数(范围在[1,10000]之间)
输出
最小的实力差
样例
输入样例 1 复制
1 2 3 4 5 6 7 8 9 10
输出样例 1
1
- #include<stdio.h>
- #include<string.h>
-
- int main() {
- int a[10] = {0};
- int i = 0;
- int sum = 0;
- int all = 0;
- int c0, c1, c2, c3=0;
- int sum_all = 0;
- int chazhi = 0;
- int min = 10000;
- for (i = 0; i < 10; i++) {
- scanf_s("%d", &a[i]);
- }
- for (i = 0; i < 10; i++) {
- //printf("a[%d] is %d\r\n",i,a[i]);
- sum += a[i];
- //printf("sum is %d\r\n", sum);
- }
- //任意5个数组合,然后用all - 5个数组合
- for (c0 = 1; c0 < 10; c0++)
- for (c1 = c0 + 1; c1 < 10; c1++)
- for (c2 = c1 + 1; c2 < 10; c2++)
- for (c3 = c2 + 1; c3 < 10; c3++) {
- all = a[0] + a[c0] + a[c1] + a[c2] + a[c3];
- sum_all = sum - all;
- chazhi = abs(sum_all - all);
- if (min > chazhi) {
- min = chazhi;
- }
- }
- printf("%d\r\n", min);
- }
![](https://csdnimg.cn/release/blogv2/dist/pc/img/newCodeMoreWhite.png)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。