为啥就是搭建oj呢,为啥正是搭建oj呢

P1855 榨取kkksc03

题材叙述

以下皆为实在的遗闻。

洛谷二的团伙功效是别的任何oj和工具难以达到的。借助洛谷强劲的服务器财富,任何高校都得以在洛谷上零资金财产的搭建oj并高功效的实现磨炼安顿。

缘何正是搭建oj呢?为何高效呢?

图片 1

因为,你能够上传私反常,团队外外人是无能为力见到的。大家还是能够帮你们评测!

您能够创建作业,给组员安排职责,查看组员的到位境况,还足以点评任意1份代码!

你能够创制比赛!既能够是oi赛制还足以是acm比赛制度!既能够是公司内部的私家比赛,也得以国际赛,甚至足以钦命什么人可以参与竞技。那样,搞“x校联赛”最合适不过了。洛谷借助那几个职能,希望能够提供公开及个体比赛的此外一个阳台。

图片 2

值得提明的是,这次竞赛正是使用团队私有标题+诚邀竞技的建制。

洛谷的运维组决定,假如一名oier向他的教练推荐洛谷,并能够成功的使用(成功利用的概念是:该团队有十多少个或上述的分子,上传拾道以上的村办标题,布署过一遍作业并打响举行过三次公开比赛),那么她能够浪费掉kkksc03的一部分岁月的还要消耗掉kkksc03的一对金钱以满意本人的3个心愿。

Kkksc0叁的时光和金钱是有限的,所以她很难满意全数同学的意思。所以他想掌握在和谐的能力限制内,最多能够做到多少同学的希望?

标题叙述

以下皆为真正的传说。

洛谷二的集体功效是任何任何oj和工具难以达到的。借助洛谷强大的服务器能源,任何高校都足以在洛谷上零资本的搭建oj并高效能的完成练习布置。

为啥正是搭建oj呢?为啥高效呢?

图片 3

因为,你能够上传私有标题,共青团和少先队外外人是无力回天看到的。大家仍是能够帮你们评测!

你可以成立作业,给组员安顿职分,查看组员的成就意况,还是能够点评任意一份代码!

您能够创立竞赛!既可以是oi比赛制度仍是可以是acm比赛制度!既能够是团伙内部的个体竞技,也足以国际比赛,甚至能够内定何人能够参与竞技。那样,搞“x校联赛”最合适可是了。洛谷依靠那么些效用,希望能够提供公开及个人竞技的其余八个阳台。

图片 4

值得一提明的是,此次比赛正是选拔团队私有题目+邀请比赛的编写制定。

洛谷的运营组决定,假设一名oier向她的教练推荐洛谷,并可以得逞的运用(成功运用的定义是:该团伙有二十一个或上述的积极分子,上传拾道以上的个人题目,布署过一回作业并成功实行过一遍公开比赛),那么她能够浪费掉kkksc0三的有的时光的还要消耗掉kkksc03的局地钱财以满足本人的3个愿望。

Kkksc0三的时刻和金钱是不难的,所以他很难满意全部同学的愿望。所以他想知道在协调的力量限制内,最多能够实现多少同学的意愿?

输入输出格式

输入格式:

先是行,n M T,表示壹共有n(n<=十0)个愿望,kkksc03的手上还剩M(M<=200)元,他的暑假有T(T<=200)分钟时间。

第2~n+1行 mi,ti 代表第i个心愿所需求的大运和钱财。

输出格式:

一行,多少个数,表示kkksc03最多能够兑现心愿的个数。

输入输出格式

输入格式:

 

率先行,n M T,表示一共有n(n<=拾0)个意思,kkksc0三的手上还剩M(M<=200)元,他的暑假有T(T<=200)分钟时间。

第2~n+一行 mi,ti 代表第i个愿望所供给的日子和钱财。

 

输出格式:

 

一行,3个数,表示kkksc0叁最多能够兑现心愿的个数。

 

输入输出样例

输入样例#1:

6 10 10
1 1
2 3 
3 2
2 5
5 2
4 3

出口样例#1:

4

输入输出样例

输入样例#1:

6 10 10
1 1
2 3 
3 2
2 5
5 2
4 3

出口样例#1:

4

说明

提示 第1,2,3,6个

三维DP

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cstring>
 4 #include<cmath>
 5 using namespace std;
 6 struct node
 7 {
 8     int t;//需要的时间
 9     int mon;//需要的金钱 
10 }a[1001];
11 int maxt,maxmon;
12 int dp[120][201][201];
13 int main()
14 {
15     int n;
16     scanf("%d%d%d",&n,&maxmon,&maxt);
17     for(int i=1;i<=n;i++)
18         scanf("%d%d",&a[i].t,&a[i].mon);
19     for(int i=1;i<=n;i++)
20         for(int j=0;j<=maxmon;j++)
21             for(int k=0;k<=maxt;k++)
22                 if(a[i].mon<=j&&a[i].t<=k)
23                     dp[i][j][k]=max(dp[i-1][j][k],dp[i-1][j-a[i].mon][k-a[i].t]+1);
24                 else
25                 dp[i][j][k]=dp[i-1][j][k];
26     printf("%d",dp[n][maxmon][maxt]);
27     return 0;
28 }

 

 

 

说明

提示 第1,2,3,6个

f[i][j] 花了i元,j分钟时最大的职分数

f[i][j] = max(f[i-mo[k]][j-ti[k]]+1,f[i][j]);

 1 #include<cstdio>
 2 #include<algorithm>
 3 
 4 using namespace std;
 5 
 6 int n,m,t;
 7 int mo[110],ti[110];
 8 int f[210][210];
 9 
10 int main()
11 {
12     scanf("%d%d%d",&n,&m,&t);
13     for (int i=1; i<=n; ++i)
14         scanf("%d%d",&ti[i],&mo[i]);
15     for (int k=1; k<=n; ++k)
16         for (int i=m; i>=mo[k]; --i)
17             for (int j=t; j>=ti[k]; --j)
18                 f[i][j] = max(f[i-mo[k]][j-ti[k]]+1,f[i][j]);
19     printf("%d",f[m][t]);
20     return 0;
21 }

 

相关文章

网站地图xml地图