题目链接

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

 #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. acpi参考网站

    1.acpi官网: http://www.acpi.info/

  2. AXURE在原型设计中的应用

    转: http://uedc.163.com/2248.html 前言 什么是原型呢? 产品原型简单的说就是产品设计成形之前的一个简单框架,对网站来讲,就是将页面模块.元素进行粗放式的排版和布局,深入 ...

  3. ASP.NET 客户端静态文件请求设置缓存(Client Cache)

    通常在服务器端大家都已经做了很多缓存的工作,ASP.NET CACHE也好MemeryCache也好却总是忽略了客户端缓存. 因为大家都知道不管哪个client都会缓存已经访问过的站点,但是浏览器缓存 ...

  4. .net学习之泛型、程序集和反射

    一.泛型1.CLR编译时,编译器只为MyList<T>类型产生“泛型版”的IL代码——并不进行泛型的实例化,T在中间只充当占位符.例如:MyList 类型元数据中显示的<T> ...

  5. Oracle优化 -- 关于Database Buffer Cache相关参数DB_CACHE_SIZE的优化设置

    select size_for_estimate, buffers_for_estimate ,ESTD_PHYSICAL_READ_factor,ESTD_PHYSICAL_READS from v ...

  6. angularjs 权威指南 版本 1.2.6

    1 $rootScope  run  : run 方法初始化全局的数据 ,只对全局作用域起作用 如$rootScope <script src="http://apps.bdimg.c ...

  7. js判断当前的访问是手机/电脑

    <script type="text/javascript"> var commonURL = 'http://www.xxx.com/'; function mobi ...

  8. 接口JSon字符串格式

  9. Vue#计算属性

    在模板中表达式非常便利,但是它们实际上只用于简单的操作.模板是为了描述视图的结构.在模板中放入太多的逻辑会让模板过重且难以维护.这就是为什么 Vue.js 将绑定表达式限制为一个表达式.如果需要多于一 ...

  10. Sypder上手

    准备用python来做数据分析,选择了Sypder 刚打开时有点蒙逼,工作目录直接就在C盘了,想切换一下,发现右边工具栏里有工程路径,发现原来默认是在c盘用户路径下创建了一个临时工程 于是直接菜单栏/ ...