题目链接

队内赛里,匆匆忙忙写的。

 #include <cstdio>
#include <cstring>
#include <iostream>
#include <vector>
#include <string>
#include <map>
#include <algorithm>
using namespace std;
int v[];
int flag[];
int o[][];
int p[];
char name[];
char fa[];
int que[][];
int s[];
int sf[];
int key[];
int maxz;
int judge(char *str)
{
if(strcmp("goalkeeper",str) == )
return ;
else if(strcmp("defender",str) == )
return ;
else if(strcmp("midfielder",str) == )
return ;
else if(strcmp("striker",str) == )
return ;
return ;
}
void dfs(int y,int x,int step,int sd)
{
int i,j,k,st;
if(step > )
{
st = ;
for(j = ;j < ;j ++)
st += v[p[j]];
for(j = ; j < ; j ++)
{
for(k = j+; k < ; k ++)
st += o[p[j]][p[k]];
}
maxz = max(st,maxz);
return ;
}
for(i = y;i < s[step];i ++)
{
if(!sf[que[step][i]])
{
sf[que[step][i]] = ;
p[sd] = que[step][i];
if(x+ > key[step])
dfs(,,step+,sd+);
else
dfs(i+,x+,step,sd+);
sf[que[step][i]] = ;
}
}
return ;
}
int main()
{
int i,m,sc;
key[] = ;
key[] = ;
key[] = ;
key[] = ;
while(scanf("%s%d%s",name,&v[],fa)!=EOF)
{
memset(o,,sizeof(o));
memset(s,,sizeof(s));
memset(sf,,sizeof(sf));
memset(que,,sizeof(que));
map<string,int> mp;
mp[name] = ;
flag[] = judge(fa);
que[flag[]][s[flag[]]] = ;
s[flag[]] ++;
for(i = ; i < ; i ++)
{
scanf("%s%d%s",name,&v[i],fa);
mp[name] = i;
flag[i] = judge(fa);
que[flag[i]][s[flag[i]]] = i;
s[flag[i]] ++;
}
scanf("%d",&m);
for(i = ; i < m; i ++)
{
scanf("%s%s%d",name,fa,&sc);
int a,b;
a = mp[name];
b = mp[fa];
o[a][b] += sc;
o[b][a] += sc;
}
if(s[] < ||s[] < ||s[] < ||s[] < )
{
printf("impossible\n");
continue;
}
maxz = -;
dfs(,,,);
printf("%d\n",maxz);
}
return ;
}

HDU 3720 Arranging Your Team(DFS)的更多相关文章

  1. HDU 3720 Arranging Your Team

    先分组,然后暴力:注意  初始化时不要为0 会有负数:我直接二进制枚举: dfs是正解:呵呵 #include <iostream> #include <cstdio> #in ...

  2. hdu 3720 Arranging Your Team 枚举

    不可能解可以直接判断. 搭配产生的附加分可以用一个二维数组保存. 枚举1442,4种类型的人,因为总人数只有23个,所以可以搜索暴力枚举,然后保存最优解. 注意trick,答案可能为负数,所以初始化a ...

  3. hdu3720 Arranging Your Team

    Arranging Your Team Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Othe ...

  4. HDU 1241 Oil Deposits --- 入门DFS

    HDU 1241 题目大意:给定一块油田,求其连通块的数目.上下左右斜对角相邻的@属于同一个连通块. 解题思路:对每一个@进行dfs遍历并标记访问状态,一次dfs可以访问一个连通块,最后统计数量. / ...

  5. hdu 1241 Oil Deposits(DFS求连通块)

    HDU 1241  Oil Deposits L -DFS Time Limit:1000MS     Memory Limit:10000KB     64bit IO Format:%I64d & ...

  6. HDOJ(HDU).1258 Sum It Up (DFS)

    HDOJ(HDU).1258 Sum It Up (DFS) [从零开始DFS(6)] 点我挑战题目 从零开始DFS HDOJ.1342 Lotto [从零开始DFS(0)] - DFS思想与框架/双 ...

  7. HDOJ(HDU).1016 Prime Ring Problem (DFS)

    HDOJ(HDU).1016 Prime Ring Problem (DFS) [从零开始DFS(3)] 从零开始DFS HDOJ.1342 Lotto [从零开始DFS(0)] - DFS思想与框架 ...

  8. Arranging Your Team HDU - 3720 【DFS】

    思路 题意:此题大意是指首先给你23个队员的信息,包括他们的名字,能力值,在赛场上的职位.然后给出几个若能满足某两个队员同时在球场上就额外加上一定的值.最后让你从23个队员中选出11个人,使得最终的v ...

  9. 2017ACM暑期多校联合训练 - Team 9 1005 HDU 6165 FFF at Valentine (dfs)

    题目链接 Problem Description At Valentine's eve, Shylock and Lucar were enjoying their time as any other ...

随机推荐

  1. SQL小纸条--一些方便平时参考的SQL语句--随用随查

    SQL 语句 语句 语法 AND / OR SELECT column_name(s)FROM table_nameWHERE conditionAND|OR condition ALTER TABL ...

  2. Shell编程基础教程5--文本过滤、正则表达式、相关命令

    5.文本过滤.正则表达式.相关命令    5.1.正则表达式(什么是正则表达式?正则表达式怎么进行匹配?常用命令)        简介:            一种用来描述文本模式的特殊语法      ...

  3. Eclipse 快捷键 转换为Netbeans 快捷键

    一直使用netbeans IDE开发,习惯了netbeans的快捷键,最近要开发个app就选择了H5. 接着使用了HBuilder (基于Eclipse开发) 总体来讲这个IDE还可以,不管是代码提示 ...

  4. HTML CSS微信CSS显示一些总结

    微信显示网页是调用腾讯自带的浏览器内核,由于腾讯浏览器内核对css展示效果没有谷歌浏览器好,导致用谷歌浏览器写好的网页,放到微信页面之后,显示的效果就发生变化,所以调整css样式显得那么吃力: 1. ...

  5. SPOJ220 Relevant Phrases of Annihilation(后缀数组)

    引用罗穗骞论文中的话: 先将n 个字符串连起来,中间用不相同的且没有出现在字符串中的字符隔开,求后缀数组.然后二分答案,再将后缀分组.判断的时候,要看是否有一组后缀在每个原来的字符串中至少出现两次,并 ...

  6. [Eclipse] eclipse中打开xml文件,使用ctrl+鼠标左键无法跳转至Java源文件【待解决】

    eclipse中打开xml文件,使用ctrl+鼠标左键无法跳转至Java源文件: 1. 设置eclipse ctrl + 左键打开源文件代码,如下图,设置都正常 2. 在网上找了很多种办法,均失败,在 ...

  7. 创建对象为什么要 init?

    self 为什么要赋值为[super init]:”,当程序进入到init这个方法的时候,系统已经生成了对象并分配了存储空间,在调用[super init]是为了初始化父类对象,在父类对象初始化过程序 ...

  8. KMP模式匹配算法

    KMP模式匹配算法 相信很多人对于这个还有点不了解,或者说是不懂,下面,通过一道题,来解决软考中的这个问题! 正题: aaabaaa,其next函数值为多少? 对于这个问题,我们应该怎么做呢? 1.整 ...

  9. supervisor(三)xml_rpc

    supervisor提供的两种管理方式,supervisorctl和web其实都是通过xml_rpc来实现的. xml_rpc其实就是本地可以去调用远端的函数方法,然后函数方法经过一番处理后,把结果返 ...

  10. mysql 怎样清空一个数据库中的所有表

    转自:http://blog.csdn.net/zhangzhizhen1988/article/details/8432146 MySQL清空表是很重要的操作,也是最常见的操作之一,下面就为您详细介 ...