Java AC
import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.StreamTokenizer; public class Main { /* * 1494 */ public static void main(String[] args) throws Exception { StreamTokenizer st = new StreamTokenizer(new BufferedReader( new InputStreamReader(System.in))); while (st.nextToken() != StreamTokenizer.TT_EOF) { int n = (int) st.nval; st.nextToken(); int m = (int) st.nval; st.nextToken(); int g = (int) st.nval; int size = n + 1 + m; int p[] = new int[size]; int v[] = new int[size]; for (int i = 1; i < n + 1; i++) { st.nextToken(); p[i] = (int) st.nval; st.nextToken(); v[i] = (int) st.nval; } for (int i = n + 1; i < size; i++) { st.nextToken(); int t = (int) st.nval; for (int j = 1; j < t + 1; j++) { st.nextToken(); int seq = (int) st.nval; p[i] += p[seq]; v[i] += v[seq]; } st.nextToken(); int s = (int) st.nval; v[i] += s; } int dp[] = new int[g + 1]; for (int i = 1; i < size; i++) { for (int j = p[i]; j <= g; j++) { dp[j] = Math.max(dp[j], dp[j - p[i]] + v[i]); } } System.out.println(dp[g]); } } } /************************************************************** Problem: 1494 User: wzqwsrf Language: Java Result: Accepted Time:390 ms Memory:23732 kb ****************************************************************/C++ AC
#include <stdio.h> #include <string.h> const int maxn = 202; const int maxg = 1002; int p[maxn]; int v[maxn]; int dp[maxg]; int n, m, g, s; int i, j, t; int max(int a, int b){ return a > b ? a : b; } int main(){ while(scanf("%d %d %d", &n, &m, &g) != EOF){ memset(dp, 0, sizeof(dp)); memset(p, 0, sizeof(p)); memset(v, 0, sizeof(v)); for (i = 1; i < n + 1; i++) { scanf("%d", &p[i]); scanf("%d", &v[i]); } int size = n + m + 1; for (i = n + 1; i < size; i++) { scanf("%d", &t); for (j = 1; j < t + 1; j++) { int seq; scanf("%d", &seq); p[i] += p[seq]; v[i] += v[seq]; } scanf("%d", &s); v[i] += s; } for (i = 1; i < size; i++) { for (j = p[i]; j <= g; j++) { dp[j] = max(dp[j], dp[j - p[i]] + v[i]); } } printf("%d\n", dp[g]); } return 0; } /************************************************************** Problem: 1494 User: wangzhenqing Language: C++ Result: Accepted Time:20 ms Memory:1028 kb ****************************************************************/