发现

Time Limit : 3000/1000ms (Java/Other)   Memory Limit : 65535/32768K (Java/Other)
Total Submission(s) : 70   Accepted Submission(s) : 27

Font: Times New Roman | Verdana | Georgia

Font Size: ← →

Problem Description

  最近,炉石传说开放了新冒险模式——探险者协会!开放了一种新的技能:“发现”!
  它的效果是提供三张卡牌(随从卡 / 法术卡),你可以获得任意一张,并丢掉另外两张。
  现在你可以使用 n 次“发现”技能,当然到最后你会得到 n 张卡牌,如今已经给出每次使用技能后可以选择的三张卡的属性,问你能否获得至少 a 张随从卡以及 b 张法术卡。
  

Input

  多组输入数据(组数<=1000)
  每组输入数据的第一行是三个正整数 n,a,b,含义见上述。(1 <= n <= 1000 , 1 <= a,b <= n)
  接下来 n 行,每行三个数(0或1),0代表随从卡,1代表法术卡。

Output

  对于每组数据,输出一行 YES 或者 NO 。

Sample Input

1 1 0
1 1 1
3 1 2
0 1 1
0 0 0
1 1 1

Sample Output

NO
YES Hint:对于第一组样例,n=1,a=1,b=0,使用1次“发现”技能,至少获得1张随从卡。由于提供的3张都是法术卡(3个1),所以不能达到要求。
对于第二组样例,n=3,a=1,b=2,使用3次“发现”技能,至少获得1张随从卡,2张法术卡。那么只要在第一次和第三次选法术卡,第二次选随从卡即可。

Author

Natureal
首先,我非常喜欢这题,
开始呢,我们先用sum1,sum2,sum3纪录发动一次效果是否都存在随从和法术 还是只有随从 还是只有法术  
如果sum2,sum3的随从和法术卡足够要求,输出YES
如果只有随从卡符合,但是法术卡少了,我们从sum1中取,看符合要求不。
同理,要是随从卡还是不符合,只有从sum1中取,那么看法术卡剩下的还能从sum1中取多少
#include<stdio.h>
//#include<bits/stdc++.h>
#include<string.h>
#include<iostream>
#include<math.h>
#include<sstream>
#include<set>
#include<queue>
#include<map>
#include<vector>
#include<algorithm>
#include<limits.h>
#define inf 0x3fffffff
#define lson l,m,rt<<1
#define rson m+1,r,rt<<1|1
#define LL long long
using namespace std;
int main()
{
int n,a,b;
int i;
int m,s,z;
int sum_1,sum_2,sum_3,sum_4;
while(~scanf("%d%d%d",&n,&a,&b))
{
sum_1=0;sum_2=0;sum_3=0;sum_4=0;
for(i=0;i<n;i++)
{
scanf("%d%d%d",&m,&s,&z);
if((m+s+z)>0&&(m+s+z)<3)
{
sum_1++;
}
else if(m+s+z==0)
{
sum_2++;
}
else if(m+s+z==3)
{
sum_3++;
}
}
if((a-sum_2)<=0)
{
if((b-sum_3)<=0)
{
puts("YES");
}
else
{
b=b-sum_3;
if((b-sum_1)<=0)
{
puts("YES");
}
else
{
puts("NO");
}
}
}
else
{
a=a-sum_2;
if((a-sum_1)<=0)
{
int ans=sum_1-a;
if((ans+sum_3)>=b)
{
puts("YES");
}
else
{
puts("NO");
}
}
else
{
puts("NO");
}
}
}
return 0;
}

  

2015苏州大学ACM-ICPC集训队选拔赛(1) 1005的更多相关文章

  1. hihocoder1257(构造)(2015北京ACM/ICPC)

    题意: 给你n条蛇,a[i]的长度为i,要求组成一个矩形.奇数蛇可折叠奇数次,偶数蛇折叠偶数次,然后按蛇的次序输出 (即一条蛇的输出只能是一个方向的) 2 3 1 2 1 3 2 3 1 1 2 1 ...

  2. 2015 ACM / ICPC 亚洲区域赛总结(长春站&北京站)

    队名:Unlimited Code Works(无尽编码)  队员:Wu.Wang.Zhou 先说一下队伍:Wu是大三学长:Wang高中noip省一:我最渣,去年来大学开始学的a+b,参加今年区域赛之 ...

  3. (二叉树)Elven Postman -- HDU -- 54444(2015 ACM/ICPC Asia Regional Changchun Online)

    http://acm.hdu.edu.cn/showproblem.php?pid=5444 Elven Postman Time Limit: 1500/1000 MS (Java/Others)  ...

  4. ACM ICPC 2015 Moscow Subregional Russia, Moscow, Dolgoprudny, October, 18, 2015 G. Garden Gathering

    Problem G. Garden Gathering Input file: standard input Output file: standard output Time limit: 3 se ...

  5. ACM ICPC 2015 Moscow Subregional Russia, Moscow, Dolgoprudny, October, 18, 2015 D. Delay Time

    Problem D. Delay Time Input file: standard input Output file: standard output Time limit: 1 second M ...

  6. hdu 5444 Elven Postman(二叉树)——2015 ACM/ICPC Asia Regional Changchun Online

    Problem Description Elves are very peculiar creatures. As we all know, they can live for a very long ...

  7. (并查集)Travel -- hdu -- 5441(2015 ACM/ICPC Asia Regional Changchun Online )

    http://acm.hdu.edu.cn/showproblem.php?pid=5441 Travel Time Limit: 1500/1000 MS (Java/Others)    Memo ...

  8. 2015 ACM/ICPC Asia Regional Changchun Online HDU 5444 Elven Postman【二叉排序树的建树和遍历查找】

    Elven Postman Time Limit: 1500/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)T ...

  9. 【转】ACM/ICPC生涯总结暨退役宣言—alpc55

    转自:http://hi.baidu.com/accplaystation/item/ca4c2ec565fa0b7fced4f811 ACM/ICPC生涯总结暨退役宣言—alpc55 前言 早就该写 ...

  10. 2014嘉杰信息杯ACM/ICPC湖南程序设计邀请赛暨第六届湘潭市程序设计竞赛

    比赛链接: http://202.197.224.59/OnlineJudge2/index.php/Contest/problems/contest_id/36 题目来源: 2014嘉杰信息杯ACM ...

随机推荐

  1. SharedPreferences 用法

    private void getUserInfoFromPref(){ /* * 保存到文件的方法 * * Constant.user = (User)Constant.readObjectFromF ...

  2. MyBatis中动态SQL语句完成多条件查询

    一看这标题,我都感觉到是mybatis在动态SQL语句中的多条件查询是多么的强大,不仅让我们用SQL语句完成了对数据库的操作:还通过一些条件选择语句让我们SQL的多条件.动态查询更加容易.简洁.直观. ...

  3. GBK、GB2312和UTF-8编码区分

    GBK包含全部中文字符, GBK的文字编码是双字节来表示的,即不论中.英文字符均使用双字节来表示,只不过为区分中文,将其最高位都定成1. 至于UTF-8编码则是用以解决国际上字符的一种多字节编码,它对 ...

  4. 开发工具 idea 激活方法

    1. 到网站 http://idea.lanyus.com/ 获取注册码. 2.填入下面的license server: http://intellij.mandroid.cn/ http://ide ...

  5. Android 菜单 之 上下文菜单ContextMenu

    所谓上下文菜单就是当我们长按某一个文件时弹出的菜单 操作这个菜单我们要重写onCreateContextMenu()方法 如上一篇文章一样,对于这个菜单中选型的操作也有动态添加和xml文件添加两种方法 ...

  6. ZROI2018提高day1t3

    传送门 分析 考场上想到了先枚举p的长度,在枚举这个长度的所有子串,期望得分40~50pts,但是最终只得了20pts,这是因为我写的代码在验证中总是不断删除s'中的第一个p,而这种方式不能解决形如a ...

  7. loj10093 网络协议

    传送门 分析 第一问我们不难想出是缩点之后的新图中入度为0的点的个数,对于第二问,我们画一画可以发现最优策略就是对于每一个入度为0的点都有一个出度为0的点连向它,而对于每一个出度为0的点也一定连向一个 ...

  8. python3-字典的增删改查

    # Auther: Aaron Fan info = { "stull01":"alen zhang", "stull02":"s ...

  9. python3-字典中的一些常用方法

    # Auther: Aaron Fan #在dict_dict字典中包含字典那个脚本里介绍了这个方法的用法:'''print(av_catalog.setdefault('大陆',{'www.baid ...

  10. 《Effective Java》第7章 方法

    第38条:检查参数的有效性 对于公有的方法,要用javadoc的@throws标签(tag)在文档中说明违反参数值限制时会抛出的异常.这样的异常通常为IllegalArgumentException, ...