题目链接。

分析:

用dfs枚举每一波攻击的三个国家。

很暴力,但没想到0ms。

#include <iostream>
#include <cstdio>
#include <vector> using namespace std; const int maxn = ; int p[maxn], nervous[maxn], n, m, k, max_cnt;
int att[][]; void dfs(int cn) {
//界限
if(max_cnt >= k) return ;
if(cn >= k) {
max_cnt = k; return ;
} int a[], bak[];
for(int v=; v<; v++) { //枚举支援的国家
/*
* 被支援的国家为 att[cn][v]
* 其他两个国家为 att[cn][(v+1)%3] 和 att[cn][(v+2)%3]
*/
a[] = att[cn][v]; //将国家序号存起来,方便调用
a[] = att[cn][(v+)%];
a[] = att[cn][(v+)%]; bak[] = nervous[a[]]; //备份
bak[] = nervous[a[]];
bak[] = nervous[a[]]; nervous[a[]] -= ;
if(nervous[a[]] < ) nervous[a[]] = ;
nervous[a[]] += ;
nervous[a[]] += ; //数据已经保证受攻击的3个国家一定在不同的洲
for(int i=; i<n; i++) {
if(p[i] == p[a[]] && i != a[]) nervous[i]++;
if(p[i] == p[a[]] && i != a[]) nervous[i]++;
} //价差是否都小于5
int flag = true;
for(int i=; i<n; i++) {
if(nervous[i] > ) {
max_cnt = max(max_cnt, cn);
flag = false;
}
} if(flag) dfs(cn+); //还原
for(int i=; i<n; i++) {
if(p[i] == p[a[]] && i != a[]) nervous[i]--;
if(p[i] == p[a[]] && i != a[]) nervous[i]--;
} nervous[a[]] = bak[];
nervous[a[]] = bak[];
nervous[a[]] = bak[];
}
} int main(){
int T; scanf("%d", &T); for(int kase=; kase<=T; kase++) {
scanf("%d%d%d", &n, &m, &k); for(int i=; i<n; i++) {
scanf("%d", &p[i]);
} for(int i=; i<n; i++) {
scanf("%d", &nervous[i]);
} for(int i=; i<k; i++) {
scanf("%d %d %d", &att[i][], &att[i][], &att[i][]);
} max_cnt = ;
printf("Case #%d: ", kase); //搜索
dfs(); printf("%d\n", max_cnt);
} return ;
}

HDU4536 XCOM Enemy Unknown(dfs)的更多相关文章

  1. LeetCode Subsets II (DFS)

    题意: 给一个集合,有n个可能相同的元素,求出所有的子集(包括空集,但是不能重复). 思路: 看这个就差不多了.LEETCODE SUBSETS (DFS) class Solution { publ ...

  2. LeetCode Subsets (DFS)

    题意: 给一个集合,有n个互不相同的元素,求出所有的子集(包括空集,但是不能重复). 思路: DFS方法:由于集合中的元素是不可能出现相同的,所以不用解决相同的元素而导致重复统计. class Sol ...

  3. 黑白图像(DFS)

    输入一个n*n的黑白图像(1表示黑色,0表示白色),任务是统计其中八连块的个数.如果两个黑格子有公共边或者公共顶点,就说它们属于同一个八连块.如图6-11所示的图形有3个八连块. 图6-11  拥有3 ...

  4. HDU 2553 N皇后问题(dfs)

    N皇后问题 Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Description 在 ...

  5. POJ 1562(L - 暴力求解、DFS)

    油田问题(L - 暴力求解.DFS) Description The GeoSurvComp geologic survey company is responsible for detecting ...

  6. 深搜(DFS)广搜(BFS)详解

    图的深搜与广搜 一.介绍: p { margin-bottom: 0.25cm; direction: ltr; line-height: 120%; text-align: justify; orp ...

  7. 【算法导论】图的深度优先搜索遍历(DFS)

    关于图的存储在上一篇文章中已经讲述,在这里不在赘述.下面我们介绍图的深度优先搜索遍历(DFS). 深度优先搜索遍历实在访问了顶点vi后,访问vi的一个邻接点vj:访问vj之后,又访问vj的一个邻接点, ...

  8. 深度优先搜索(DFS)与广度优先搜索(BFS)的Java实现

    1.基础部分 在图中实现最基本的操作之一就是搜索从一个指定顶点可以到达哪些顶点,比如从武汉出发的高铁可以到达哪些城市,一些城市可以直达,一些城市不能直达.现在有一份全国高铁模拟图,要从某个城市(顶点) ...

  9. 深度优先搜索(DFS)和广度优先搜索(BFS)

    深度优先搜索(DFS) 广度优先搜索(BFS) 1.介绍 广度优先搜索(BFS)是图的另一种遍历方式,与DFS相对,是以广度优先进行搜索.简言之就是先访问图的顶点,然后广度优先访问其邻接点,然后再依次 ...

随机推荐

  1. MySQL更新时Error Code:1093和Error Code:1175的解决办法

    Error Code: 1093. You can't specify target table 'ws_product' for update in FROM clause 这个是我们在使用upda ...

  2. HDU--2040

    亲和数 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submis ...

  3. android核心服务初探

    终于进入android学习的进阶阶段,第一个课题是android的核心服务.首先,让我们来认识一下核心服务. android核心服务与app服务有所区别.app服务继承自Service基类,在app运 ...

  4. Java POI 导出excel表

    1.首先下载poi-3.6-20091214.jar,下载地址如下: http://download.csdn.net/detail/evangel_z/3895051 2.Student.java ...

  5. Android虚拟机GenyMotion

    GenyMotion:需要VirtualBox,安装后可以选择机型,这个应该是Android for x86的一个改进版虚拟机,在原版的基础上针对不同机型用了和原机型同样的GUI,但是发现缺少了Goo ...

  6. js字符串比较

    1,大写字母小于小写字母 a='ang',b='Zh' 那么a>b 2,可以使用字符串的toUpperCase()/toLowerCase()方法不区分字母的大小写. a.toUpperCase ...

  7. iOS真机测试种可能遇到的问题

    1. Reason- image not found 用模拟器是没有问题的,不过在真机好像是有问题,不确定是否是所有机型. 崩溃日志   1 2 3 4 5   dyld: Library not l ...

  8. ajax省市线三级联动

    <script type='text/javascript' src='http://ajax.useso.com/ajax/libs/jquery/1.7.2/jquery.min.js?ve ...

  9. hibernate_validator_10

    约束条件组合--把多个约束组合成一个约束 上一节中我们自定义的@CheckCase是用来检查是否String为大写的注释,默认情况下当我们的String为null的时候也被认为正确的 CaseMode ...

  10. cocos2dx 资源合并.

    文件合并之前 文件合并之后 吐槽 我们项目比较奇葩, ui用cocostudio做, 这项光荣的任务由美术接手. 这个美术是个新手, 经过我长时间的观察, 她似乎不用怎么画画. 至少在很长一段时间里, ...