題目描述 以下皆為真實的故事。 洛谷2的團隊功能是其他任何oj和工具難以達到的。藉助洛谷強大的伺服器資源,任何學校都可以在洛谷上零成本的搭建oj並高效率的完成訓練計劃。 為什麼說是搭建oj呢?為什麼高效呢? 因為,你可以上傳私有題目,團隊外別人是無法看到的。我們還能幫你們評測! 你可以創建作業,給組 ...
題目描述
以下皆為真實的故事。
洛谷2的團隊功能是其他任何oj和工具難以達到的。藉助洛谷強大的伺服器資源,任何學校都可以在洛谷上零成本的搭建oj並高效率的完成訓練計劃。
為什麼說是搭建oj呢?為什麼高效呢?
因為,你可以上傳私有題目,團隊外別人是無法看到的。我們還能幫你們評測!
你可以創建作業,給組員佈置任務,查看組員的完成情況,還可以點評任意一份代碼!
你可以創建比賽!既可以是oi賽制還可以是acm賽制!既可以是團隊內部的私有比賽,也可以公開賽,甚至可以指定誰可以參加比賽。這樣,搞“x校聯賽”最合適不過了。洛谷憑藉這個功能,希望能夠提供公開及私有比賽的另外一個平臺。
值得說明的是,本次比賽就是採用團隊私有題目+邀請比賽的機制。
洛谷的運營組決定,如果一名oier向他的教練推薦洛谷,並能夠成功的使用(成功使用的定義是:該團隊有20個或以上的成員,上傳10道以上的私有題目,佈置過一次作業併成功舉辦過一次公開比賽),那麼他可以浪費掉kkksc03的一些時間的同時消耗掉kkksc03的一些金錢以滿足自己的一個願望。
Kkksc03的時間和金錢是有限的,所以他很難滿足所有同學的願望。所以他想知道在自己的能力範圍內,最多可以完成多少同學的願望?
輸入輸出格式
輸入格式:第一行,n M T,表示一共有n(n<=100)個願望,kkksc03 的手上還剩M(M<=200)元,他的暑假有T(T<=200)分鐘時間。
第2~n+1行 mi,ti 表示第i個願望所需要的時間和金錢。
輸出格式:一行,一個數,表示kkksc03最多可以實現願望的個數。
輸入輸出樣例
輸入樣例#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 }