CodeForces 189A Cut Ribbon
来源:互联网 发布:cacti windows模板 编辑:程序博客网 时间:2024/06/08 13:08
题意:给出四个数n,a,b,c,将长度为n的木棍恰好分割成若干段长度分别为a,b,c的小段,求最多能有几段
链接:http://codeforces.com/problemset/problem/189/A
思路:dp,近似完全背包,加一个判断条件dp[i-k] != 0
注意点:无
以下为AC代码:
luminous11189A -38GNU C++11Accepted62 ms24 KB2015-02-27 12:39:582015-02-27 12:39:58
#include <iostream>#include <cstdio>#include <string>#include <cstring>#include <vector>#include <deque>#include <list>#include <cctype>#include <algorithm>#include <climits>#include <queue>#include <stack>#include <cmath>#include <map>#include <set>#include <iomanip>#include <cstdlib>#include <ctime>#define ll long long#define ull unsigned long long#define all(x) (x).begin(), (x).end()#define clr(a, v) memset( a , v , sizeof(a) )#define pb push_back#define mp make_pair#define read(f) freopen(f, "r", stdin)#define write(f) freopen(f, "w", stdout)using namespace std;const double pi = acos(-1);//Problem Aint dp[5000];int main(){ ios::sync_with_stdio( false ); int n, a, b, c; while ( cin >> n >> a >> b >> c ){ clr ( dp, 0 ); dp[a] = dp[b] = dp[c] = 1; for ( int i = a; i <= n; i ++ ){ if ( dp[i-a] ) dp[i] = max ( dp[i], dp[i-a] + 1 ); } for ( int i = b; i <= n; i ++ ){ if ( dp[i-b] ) dp[i] = max ( dp[i], dp[i-b] + 1 ); } for ( int i = c; i <= n; i ++ ){ if ( dp[i-c] ) dp[i] = max ( dp[i], dp[i-c] + 1 ); } cout << dp[n] << endl; } return 0;}
0 0
- codeforces 189A Cut Ribbon
- CodeForces 189A Cut Ribbon
- CodeForces 189A-Cut Ribbon
- codeforces 189A. Cut Ribbon
- CodeForces 189A Cut Ribbon
- Codeforces-189A-Cut Ribbon
- codeforces 189a Cut Ribbon 水dp
- codeforces——189A——Cut Ribbon
- CF - 189A - Cut Ribbon
- CF 189A Cut Ribbon
- CF 189 A Cut Ribbon
- CF 189A Cut Ribbon
- A. Cut Ribbon
- codefroces A. Cut Ribbon
- Codeforces Round #119 (Div. 2) / 189A Cut Ribbon (完全背包)
- Codeforces 189A. Cut Ribbon 完全背包装满最多装下物品的个数
- Codeforces Round #119 (Div. 2) A. Cut Ribbon
- Codeforces189 A. Cut Ribbon(DP)
- Spring注入demo
- IT生涯启程
- 完美解决PHP中文乱码
- android中Activity、Window 和 View的关系
- Android:dumpsys功能之二:例子与实战
- CodeForces 189A Cut Ribbon
- 不错博文收录
- 使用C++ 复制一个文件夹下的所有文件到另一个文件夹
- 微信支付
- DownLoad模块 (五)
- 构建Android Push Notification Service服务端及客户端
- 尝试新事物30天--Try something new for 30days
- 选用原生还是HTML5
- ie 的XDomainRequest对于cors支持的资料