比赛时愣是没读懂

题意:有N 个城市 每一个城市都有 val 个 士兵 , 有几条路连接

当敌方攻击你的某个城市时 该城市以及与该城市相连接的城市的士兵总数 要大于 K

不大于 K 该城市就被攻陷。士兵被俘虏 则不能支援别的城市

求最后一共同拥有多少城市不被攻陷。以及士兵总数

思路:先计算该点能支援到的总士兵数

然后将  总数小于 K  的取出     减去相连的城市上的总士兵数

直到剩下的点都大于K

#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <string>
#include <iostream>
#include <algorithm>
#include <sstream>
#include <cmath>
using namespace std;
#include <queue>
#include <stack>
#include <vector>
#include <deque>
#include <set>
#include <map>
#include <time.h>;
#define cler(arr, val) memset(arr, val, sizeof(arr))
#define FOR(i,a,b) for(int i=a;i<=b;i++)
#define IN freopen ("in.txt" , "r" , stdin);
#define OUT freopen ("out.txt" , "w" , stdout);
typedef long long LL;
const int MAXN = 1032;
const int MAXM = 444;
const int INF = 0x3f3f3f3f;
const int mod = 1000000007;
vector<int>G[MAXN];
int val[MAXN],vis[MAXN],ans,num,orz[MAXN],man;
void init()
{
for(int i=0; i<MAXN; i++)
G[i].clear();
cler(val,0);
cler(vis,0);
}
int main()
{
int n,k;
//IN;
while(scanf("%d%d",&n,&k),n+k)
{
init();
for(int i=0; i<n; i++)
{
int a,m;
scanf("%d%d",&val[i],&m);
for(int j=0; j<m; j++)
{
scanf("%d",&a);
G[i].push_back(a);
}
}
for(int i=0; i<n; i++)
{
orz[i]=val[i];
for(int j=0; j<G[i].size(); j++)
orz[i]+=val[G[i][j]];
}
ans=0,num=0;
queue<int>q;
for(int i=0; i<n; i++)
if(orz[i]<k)
q.push(i),vis[i]=1;
while(!q.empty())
{
int i=q.front();
q.pop();
for(int j=0; j<G[i].size(); j++)
{
orz[G[i][j]]-=val[i];
if(orz[G[i][j]]<k&&!vis[G[i][j]])
q.push(G[i][j]),vis[G[i][j]]=1;
}
}
for(int i=0; i<n; i++)
if(!vis[i])
num++,ans+=val[i];
printf("%d %d\n",num,ans);
}
return 0;
}

【瞎搞】 HDU 3101 The Heart of the Country的更多相关文章

  1. HDU 4923 Room and Moor(瞎搞题)

    瞎搞题啊.找出1 1 0 0这样的序列,然后存起来,这样的情况下最好的选择是1的个数除以这段的总和. 然后从前向后扫一遍.变扫边进行合并.每次合并.合并的是他的前驱.这样到最后从t-1找出的那条链就是 ...

  2. URAL 1203. Scientific Conference(瞎搞)

    题目链接 本来觉得这不是经典的贪心吗..果断水一次,wa了,看了看discuss,发现貌似不好水,土土的DP了一下,复杂度很高了,又T了...然后想想单调队列,二分什么的...不好往上加,直接搞了标记 ...

  3. Codeforces Gym 100610 Problem H. Horrible Truth 瞎搞

    Problem H. Horrible Truth Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/gym/1006 ...

  4. B. Salty Fish Go! -期望题(瞎搞题)

    链接:https://www.nowcoder.com/acm/contest/104/B来源:牛客网 题意:A few days ago, WRD was playing a small game ...

  5. HDU5532 Almost Sorted Array(最长上升子序列 or 瞎搞个做差的数组)

    题目链接:点我 题意:给定一个序列,询问是否能删除一个数让它成为非递减或者非递增的序列. 比如说 删除后的序列是1 3 3 5 或者5 3 3 1 或者1 3 5 或者5 3 1 都可以.只要满足删掉 ...

  6. TOJ3097: 单词后缀 (字典树 or map瞎搞)

    传送门 (<---可以点击的~) 时间限制(普通/Java):1000MS/3000MS     内存限制:65536KByte 描述 有些英语单词后缀都是一样的,现在我们需要从给定的一堆单词里 ...

  7. [乱搞]hdu 6406 Taotao picks apples 笛卡尔树+倍增

    题目链接 Problem Description There is an apple tree in front of Taotao's house. When autumn comes, n app ...

  8. 8VC Venture Cup 2016 - Elimination Round B. Cards 瞎搞

    B. Cards 题目连接: http://www.codeforces.com/contest/626/problem/B Description Catherine has a deck of n ...

  9. ubuntu--基础环境瞎搞集合

    安装ubuntu系统后有很多东西需要自己瞎搞一下,这里把一些瞎搞的过程记录在这里,方便以后重新装系统后重新配置. 一.安装. 可以在windows下制作启动盘(软碟通),然后开机u盘启动即可安装,预留 ...

随机推荐

  1. hadoop部署、启动全套过程

    Hadoop是Apache基金会的开源项目,为开发者提供了一个分布式系统的基础架构,用户可以在不了解分布式系统的底层细节的情况下开发分布式的应用,充分利用集群的强大功能,实现高速运算和存储.Hadoo ...

  2. 杭电ACM1408——盐水的故事

    简单的题目,RT,就能够写出代码.须要注意的是类型的应用,应该用浮点型. 以下的是AC的代码: #include <iostream> using namespace std; int m ...

  3. Paip.断点调试MYSQL存储过程跟函数的解决方案大法

    Paip.断点调试MYSQL存储过程跟函数的解决方案大法 作者Attilax ,  EMAIL:1466519819@qq.com  来源:attilax的专栏 地址:http://blog.csdn ...

  4. HDU 4350 Card

    打表找规律,比赛应付了一下,其实还可以把内存再优化一半掉,下面的0都是手动填充的,可以优化掉 题意: T个测试数据 下面52个数字表示 从栈顶到栈底的52个数 n l r表示 从栈顶下数 [l,r] ...

  5. appium 真机测试问题 出现 instruments crashed on startup

    1.appium 真机测试的时候 instruments crashed on startup,必须在真机上打开UI Automation 在设置里: Developer->Enable UI ...

  6. HDU 4668 Finding string (解析字符串 + KMP)

    转载请注明出处,谢谢http://blog.csdn.net/ACM_cxlove?viewmode=contents    by---cxlove 题意:给出一个压缩后的串,以及一个模式串,问模式串 ...

  7. struts2对action中的方法进行输入校验---xml配置方式(3)

    上面两篇文章已经介绍了通过编码java代码的方式实现action方法校验,这里我们介绍第二种方式:xml配置文件 首先我们来看一个样例: ValidateAction.java: package co ...

  8. Codeforces Round #256 (Div. 2) 题解

    Problem A: A. Rewards time limit per test 1 second memory limit per test 256 megabytes input standar ...

  9. [读书笔记]设计原本[The Design of Design]

    第1章 设计之命题 1.设计首先诞生于脑海里,再慢慢逐步成形(实现) 2.好的设计具有概念完整性:统一.经济.清晰.优雅.利落.漂亮... 第2章 工程师怎样进行设计思维——理性模型 1.有序模型的有 ...

  10. 设置Oracle用IP远程连接和客户端访问

    要想将oracle设置为多用户可远程访问,须进行以下设置: 1.路径:D:\app\Administrator\product\11.1.0\db_1\NETWORK\ADMIN\listener.o ...