足球队

【题目描述】

现希望组建一支足球队,一支足球队一般由11人组成。这11人有四种不同的职业:守门员、后卫、中锋和前锋。

组队的时候必须满足以下规则:

(1)足球队恰好由11人组成;

(2)11人中恰好有1名守门员,3~5名后卫,2~5名中锋,1~3名前锋;

(3)11人中选出一名队长;

(4)足球队的价值是11人的价值之和再加上队长的价值,也就是说队长的价值会被计算两次;

(5)足球队的花费是11人的花费之和,花费之和不能超过给定的上限;

现给定球员的总数和每个球员的职业、价值、花费,以及花费的上限,

希望在满足要求的情况下,达到以下目标:

(1)最大化队伍的价值;

(2)在最大化队伍的价值的情况下,最小化队伍的花费;

(3)在满足以上两个要求的情况下,有多少种选择球员的方案,如果有两种方案它们的区别仅仅是队长不一样, 那么这两种方案应该被认为是一种方案;

要求输出三个值:价值、花费、方案数。

【输入描述】

第一行一个正整数N,代表可选的球员个数;

接下来N行,每行输入一个球员的信息。

每行开头输入一个字符串,可能的字符串有:Goalkeeper、Defender、Midfielder、Forward,分别代表该球员的职业是守门员、后卫、中锋、前锋;

接下来输入两个数V、C,分别代表该球员的价值和花费;

最后一行输入一个整数,代表花费的上限。

数据保证一定存在解。

【输出描述】

输出一行,包含三个整数,分表代表最大价值、最小花费和方案数。如果方案数超过了109,则直接输出109

【样例输入】

15

Defender 23 45

Midfielder 178 85

Goalkeeper 57 50

Goalkeeper 57 50

Defender 0 45

Forward 6 60

Midfielder 20 50

Goalkeeper 0 50

Midfielder 64 65

Midfielder 109 70

Forward 211 100

Defender 0 40

Defender 29 45

Midfielder 57 60

Defender 52 45

600

【样例输出】

716 600 2

【数据范围及提示】

样例中,选择所有的五名后卫,选择价值为178、20、54、109的中锋和价值为6的前锋,两名守门员任意选择,选择价值为178的中锋作为队长。

对于30%的数据,N ≤ 20;

对于60%的数据,费用上限足够大;

对于100%的数据,1 ≤ N ≤ 500,所有球员的价值和花费以及花费上限均在[0,1000]。

时间: 2024-08-07 17:02:42

足球队的相关文章

JAVA-集合作业-已知有十六支男子足球队参加2008 北京奥运会。写一个程序,把这16 支球队随机分为4 个组。采用List集合和随机数

第二题 已知有十六支男子足球队参加2008 北京奥运会.写一个程序,把这16 支球队随机分为4 个组.采用List集合和随机数 2008 北京奥运会男足参赛国家: 科特迪瓦,阿根廷,澳大利亚,塞尔维亚,荷兰,尼日利亚.日本,美国,中国,新西 兰,巴西,比利时,韩国,喀麦隆,洪都拉斯,意大利 package Test03; import java.util.ArrayList; import java.util.List; import java.util.Random; public class

第二题 已知有十六支男子足球队参加2008 北京奥运会。写一个程序,把这16 支球队随机分为4 个组。采用List集合和随机数 2008 北京奥运会男足参赛国家: 科特迪瓦,阿根廷,澳大利亚,塞尔维亚,荷兰,尼日利亚、日本,美国,中国,新西 兰,巴西,比利时,韩国,喀麦隆,洪都拉斯,意大利

package com.hanqi.test; import java.util.ArrayList; import java.util.List; import java.util.Random; public class Listtest { public static void main(String[] args) { List<String> ls=new ArrayList<>(); ls.add(new String ("科特迪瓦")); ls.a

已知有十六支男子足球队参加2008&#160;北京奥运会。写一个程序,把这16&#160;支球队随机分为4&#160;个组。采用List集合和随机数 &#160; &#160;&#160;2008&#160;北京奥运会男足参赛国家:&#160; 科特迪瓦,阿根廷,澳大利亚,塞尔维亚,荷兰,尼日利亚、日本,美国,中国,新西&#160;兰,巴西,比利时,韩国,喀麦隆,洪都拉斯,意大利

import java.util.ArrayList; import java.util.List; import java.util.Random; public class ListDemo { public static void main(String[] args) { // 实例化 List<String> lt = new ArrayList<>(); // 添加 lt.add("科特迪瓦"); lt.add("阿根廷"); l

杖欣判舟韵ls3s189nwb9n

首页时政国际国内财经文娱生活图片视频专栏双语爱出国 移动新媒体 中国搜索 中文国际 > 独家 香港富商刘銮雄斥4.8亿购两颗巨钻赠爱女 曾因行贿被判刑 中国日报网信莲2015-11-12 17:20:04 打印发送我来说两句 移动用户编辑短信CD到106580009009,即可免费订阅30天中国日报双语手机报. 刘銮雄先后拍下的两颗巨钻以及女友甘比与爱女刘秀桦.(图片来源:香港媒体) 中国日报网11月12日电(信莲)据法新社12日报道,当地时间11日,香港亿万富翁刘銮雄在瑞士日内瓦豪掷4840万

Codeforces Round #281 (Div. 2) A. Vasya and Football 暴力

A. Vasya and Football Vasya has started watching football games. He has learned that for some fouls the players receive yellow cards, and for some fouls they receive red cards. A player who receives the second yellow card automatically receives a red

Codeforces Round #403(div 2)

A =w= B 题意:一个数轴上有n个整点,每个点都有一个速度,选一个点让他们集合,使得时间最少. 分析: 直接三分 C 题意:给定一棵树,任意两个距离小等于二的点不能染相同的颜色,求最小颜色数和染色方案. n<=2*10^5 分析: 容易知道答案就是最大的度数+1 至于方案直接暴搜出方案就行 D 题意:有n个足球队,每个队有两个选名字的方案,也就是直接给定了两个名字.所有球队不能有相同的名字.特殊的,如果有两个球队第一个名字相同,一个球队选了第二个名字,另一个球队不能选第一个名字.n<=10

特朗普幕僚妄谈“川蔡门”:“不在乎羞辱中国,去他们的”cy

4月23日,中国驻日大使程永华来到余震未消的熊本地震灾区,看望了当地华侨华人和留学人员.程永华会晤了熊本县知事蒲岛郁夫,转交了在日中资机构和华侨华人募集的1800万日元赈灾捐款.中国驻福冈总领事李天然也转交了熊本的友好省县广西政府捐赠的200万元人民币.熊本政府感谢来自中方"温暖人心的高额支援金",再次感受到两国深厚的连带关系.囚徒贸易 在东京期间,代表团先后拜访了东京华侨总会.全日本华侨华人联合会.东京华助中心以及日本上海同乡会,并参加了全日本中国人博士协会成立20周年暨中国人留学日

程序员老司机谈到的一位优秀程序员应该具备的十个优秀的习惯

在这个世界上,有数百万的人热衷于软件开发,他们有很多名字,如:软件工程师(Software Engineer),程序员(Programmer),编码人(Coder),开发人员(Developer).经过一段时间后,这些人也许能够成为一个优秀的编码人员,他们会非常熟悉如何用计算机语言来完成自己的工作.但是,如果你要成为一个优秀的程序员,你还可以需要有几件事你需要注意,如果你能让下面十个条目成为你的习惯,那么你才能真正算得上是优秀程序员. 1. 学无止境.就算是你有了10年以上的程序员经历,你也得要

10.3 noip模拟试题

希望[题目描述]网页浏览器者有后退与前进按钮,一种实现这两个功能的方式是用两个栈,“前进栈”.“后退栈”.这里你需要实现以下几个功能:BACK: 如果“后退栈”为空则忽略此命令. 否则将当前两面压入“前进栈”,从“后退栈”中取出栈顶页面,并设置为当前页面.FORWARD: 如果“前进栈”为空则忽略此命令.否则将当前两面压入“后退栈”,从“前进栈”中取出栈顶页面,并设置为当前页面.VISIT: 将当前页面压入“后退栈”. 并将当前页面置为指定页面, 并将“前进栈”置空.QUIT: 退出.假设此浏览