首页 技术 正文
技术 2022年11月19日
0 收藏 414 点赞 4,177 浏览 1471 个字

DOTA(Defense of the Ancients)是一款很受欢迎的游戏。DOTA将10个游戏玩家分为两组,分别为天灾和近卫,推倒对方主基地的一方获得胜利。每个玩家可以选择一个英雄作为游戏中的角色。每个角色有三个属性:力量,敏捷,智力。选人的策略对比赛的胜负非常关键,现在需要你找出最平衡的一套阵容(5个英雄)。这里对平衡性F做个很简单的定义:设E1是一套阵容力量的平均数,E2是敏捷的平均数,E3是智力的平均数,F是E1,E2,E3的方差, F越小越平衡。

Input

第一行一个正整数 C  表示一共有多少组数据
对于每一组数据: 第一行一个正整数N,表示这组英雄的个数(5<=N<=20) 接下来的N行每行有4个整数 B,L,M,Z 表示该英雄编号为B,力量为L,敏捷为M,智力为Z。(1<=B<=N  0<L,M,Z<1000)  

Output

对于每组数据,输出一行为最平衡的一套阵容(5个英雄的编号),英雄的编号需要从小到大排列,如果存在多组解输出英雄编号字典序最小的。

 

Sample Input

1
6
3 1 1 1
2 1 1 1
1 7 8 9
4 1 1 1
5 1 1 1
6 1 1 1

 

Sample Output

2 3 4 5 6
 
简单题,因为只有20,所以排序后直接暴力即可
 
#include <stdio.h>
#include <string.h>
#include <algorithm>
using namespace std;struct node
{
int id;
double li,zhi,min;
} hero[50];int cmp(node x,node y)
{
return x.id<y.id;
}int main()
{
int t,i,x1,x2,x3,x4,x5;
double li,min,zhi,minn,ping,s;
int f1,f2,f3,f4,f5;
scanf("%d",&t);
while(t--)
{
minn = 10000000;
int n;
scanf("%d",&n);
for(i = 0; i<n; i++)
scanf("%d%lf%lf%lf",&hero[i].id,&hero[i].li,&hero[i].min,&hero[i].zhi);
sort(hero,hero+n,cmp);
for(x1 = 0; x1<n-4; x1++)
for(x2 = x1+1; x2<n-3; x2++)
for(x3 = x2+1; x3<n-2; x3++)
for(x4 = x3+1; x4<n-1; x4++)
for(x5 = x4+1; x5<n; x5++)
{
li = (hero[x1].li+hero[x2].li+hero[x3].li+hero[x4].li+hero[x5].li)/5;
min = (hero[x1].min+hero[x2].min+hero[x3].min+hero[x4].min+hero[x5].min)/5;
zhi = (hero[x1].zhi+hero[x2].zhi+hero[x3].zhi+hero[x4].zhi+hero[x5].zhi)/5;
ping = (li+min+zhi)/3;
s = ((li-ping)*(li-ping)+(min-ping)*(min-ping)+(zhi-ping)*(zhi-ping))/3;
if(s<minn)
{
f1 = hero[x1].id;
f2 = hero[x2].id;
f3 = hero[x3].id;
f4 = hero[x4].id;
f5 = hero[x5].id;
minn = s;
}
}
printf("%d %d %d %d %d\n",f1,f2,f3,f4,f5);
} return 0;
}
相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,000
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,512
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,358
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,141
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,771
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,849