CF1214A

题意:

有n个卢布,要换成美元和欧元,使手上剩余的卢布最少。一美元价值d卢布,一欧元价值e卢布。

解法:

可以看成只有两个没有代价的可以无限取的物品的完全背包。

CODE:

#include<bits/stdc++.h>

#define LL long long
#define N 100000010 using namespace std; int n,d,e,cnt,dp[20];
bool vis[N]; const int dollar[50] = {0, 1, 2, 5, 10, 20, 50, 100};
const int eu[50] = {0, 5, 10, 20, 50, 100, 200}; inline void init() {
for(int i = 1; i <= 7; i++)
dp[++cnt] = d * dollar[i];
for(int i = 1; i <= 6; i++)
dp[++cnt] = e * eu[i];
vis[0] = 1;
} int main() {
scanf("%d%d%d",&n,&d,&e);
init();
for(int i = 1; i <= cnt; i++) {
for(int j = dp[i]; j <= n; j++) {
if(vis[j - dp[i]]) vis[j] = 1;
}
}
for(int i = n; i >= 0; i--) {
if(vis[i] == 1) {
printf("%d\n", n - i);
break;
}
}
return 0;
}

CF1214A的更多相关文章

随机推荐

  1. Go part 1 初探

    Go 语言简介 Go 语言是 Google 在2007年开发的一种开源编程语言,于2009年11月10日向全球公布 出自 Ken Thompson 和 Rob Pike.Robert Grieseme ...

  2. Layui 实现input 输入和选择

    <div class="layui-col-md4"> <label class="layui-form-label">移交单位< ...

  3. # 机器学习算法总结-第九天(XGboost)

  4. Python 基础问题大全

    前言 Python现在依托大数据,AI人工智能等等这些最火的项目,俨然已经成为了当下最火的一门编程语言之一. 所以,近来也是有非常非常多的工程师来进修python这么语言. 但是实际上,对于0代码基础 ...

  5. FlowPortal BPM 验证组的使用方法

    1.在表单上指定验证组 2.在流程上指定验证组 3.启用多个验证组 流程审批线上设置验证组时可以设置多个验证组,多个验证组之间以分号分割,如:AAA;BBB.

  6. iOS中的分类(category)和类扩展(extension)

    今天在研究swift的时候看到了分类和扩展.这是两个十分重要有用的功能,但是之前用的不多,没有深入了解过,在今天就从头理一遍. 一.分类(Category): 概念: 分类(Category)是OC中 ...

  7. C++ 语句函数再探

    1. 表达式只计算,抛弃计算结果: 2. 空语句什么也不做: 3.switch case语句漏写break,将会从匹配到的情况开始执行,直到语句结束 int main() { ; i + ; //表达 ...

  8. 3.ConcurrentHashMap 锁分段机制 Copy-On-Write

    /*ConcurrentHashMap*/ Java 5.0 在 java.util.concurrent 包中提供了 多种 并发容器来改进同步容器的性能 ConcurrentHashMap 同步容器 ...

  9. CentOS7安装CDH 第五章:CDH的安装和部署-CDH5.7.0

    相关文章链接 CentOS7安装CDH 第一章:CentOS7系统安装 CentOS7安装CDH 第二章:CentOS7各个软件安装和启动 CentOS7安装CDH 第三章:CDH中的问题和解决方法 ...

  10. [Docker][Hadoop]基于Docker1.12.3 搭建Hadoop 2.7.2 集群以及简单分析

    一 Hadoop简介 Hadoop 2.7.2 Doc refer to http://hadoop.apache.org/docs/r2.7.2/ HDFS (The following is a ...