博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CH Round #53 -密室
阅读量:6672 次
发布时间:2019-06-25

本文共 2211 字,大约阅读时间需要 7 分钟。

描述

有N个密室,3种钥匙(红色,绿色,白色)和2种锁(红色,绿色),红色钥匙只能开红色的锁,绿色钥匙只能开绿色的锁,白色钥匙可以开红色的锁和绿 色的锁,一把钥匙使用一次之后会被扔掉。每个密室由一扇门锁着,上面锁着一些红色和绿色的锁,房间里面放着一些红色、绿色和白色的钥匙,打开密室你将拿走 这些钥匙。你可以以任意顺序打开密室,但是同一个密室只能打开一次。初始你已经有了一些钥匙了,现在你要进行决策,使得最终剩下的钥匙尽量的多,注意,你 不一定要打开所有的房间,你可以在任意时刻结束。输出你最多能有几把钥匙。

输入格式

第一行一个整数N,表示有N个密室。

第二行N个整数,第i个数表示第i扇门上有ai把红色的锁。
第三行N个整数,第i个数表示第i扇门上有bi把绿色的锁。
第四行N个整数,第i个数表示第i个密室有ci把红色的钥匙。
第五行N个整数,第i个数表示第i个密室有di把绿色的钥匙。
第六行N个整数,第i个数表示第i个密室有ei把白色的钥匙。
第七行三个整数k0,k1,k2,依次表示初始你拥有的红色、绿色、白色钥匙的数量。

输出格式

输出一个整数,表示你最多能有几把钥匙。

样例输入

31 2 30 4 90 0 100 8 91 0 83 1 2

样例输出

8

数据范围与约定

  • 对于40%的数据,满足N<=8。
  • 对于100%的数据,满足N<=14,0<=ai,bi,ci,di,ei,k0,k1,k2<=10。

 

#include
#include
using namespace std;inline int rd() { int ret=0,f=1; char c; while(c=getchar(),!isdigit(c))f=c=='-'?-1:1; while(isdigit(c))ret=ret*10+c-'0',c=getchar(); return ret*f;}const int MAXN=16;int n;int glock[MAXN],rlock[MAXN];int gkey[MAXN],rkey[MAXN],wkey[MAXN];int gkey0,rkey0,wkey0;int f[1<<15][4];//red green whiteint main() { freopen("room.in","r",stdin); freopen("room.out","w",stdout); n=rd(); for(int i=1; i<=n; i++) rlock[i-1]=rd(); for(int i=1; i<=n; i++) glock[i-1]=rd(); for(int i=1; i<=n; i++) rkey[i-1]=rd(); for(int i=1; i<=n; i++) gkey[i-1]=rd(); for(int i=1; i<=n; i++) wkey[i-1]=rd(); rkey0=rd(); gkey0=rd(); wkey0=rd(); f[0][0]=rkey0; f[0][1]=gkey0; f[0][2]=wkey0; int m=(1<
=r&&myg>=g) { f[v][0]=f[i][0]-r+kr; f[v][1]=f[i][1]-g+kg; f[v][2]=f[i][2]+kw; } else if((myr>=r&&myg+myw>=g)) { f[v][0]=f[i][0]-r+kr; f[v][1]=kg; f[v][2]=f[i][2]-(g-myg)+kw; } else if((myr+myw>=r&&myg>=g)) { f[v][0]=kr; f[v][1]=f[i][1]-g+kg; f[v][2]=f[i][2]-(r-myr)+kw; } else { f[v][0]=kr; f[v][1]=kg; f[v][2]=f[i][2]-(g-myg)-(r-myr)+kw; } } } } for(int i=0;i<=m;i++) mx=max(mx,f[i][0]+f[i][1]+f[i][2]); cout<

 

转载于:https://www.cnblogs.com/ghostcai/p/9268618.html

你可能感兴趣的文章
vi命令集
查看>>
oracle数据库克隆
查看>>
输出 pdf
查看>>
PHPCMS一个BUG
查看>>
APP云测试
查看>>
3-unit3 高速缓存DNS
查看>>
spark mllib 协同过滤算法,基于余弦相似度的用户相似度计算
查看>>
openwrt 基于qmi的 3G|4G拨号
查看>>
俞敏洪励志语
查看>>
开源|基于TensorFlow的聊天机器人-ErGo
查看>>
lucene4.0入门1
查看>>
Svn结合hook实现自动更新及多Project管理更新
查看>>
第三十六讲:tapestry表单组件详解之PasswordField
查看>>
Ubuntu11.10下安装JDK+Eclipse+Maven
查看>>
sgu 222
查看>>
让spring-data-jpa解放你的DAO
查看>>
58沈剑:架构师的平凡之路
查看>>
Hibernate问题-read-write缓存策略
查看>>
C/C++语言中“:”的使用方法
查看>>
sql中实现汉字的拼音首字母查询
查看>>