Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
143059 梁乃元 分组背包 C++ 通过 100 1 MS 2208 KB 640 2024-04-12 13:36:33

Tests(15/15):


# include<bits/stdc++.h> using namespace std ; int V , N , w [101] [1001] , f [101] [1001] , stone [111] [1001] , K ; int main ( ) { cin >> V >> N ; for( int i = 1 ; i <= N ; i ++ ) { int a , b , c ; cin >> a >> b >> c ; stone [c] [++ stone [c] [0]] = a ; w [c] [stone [c] [0]] = b ; K = max ( K , c ) ; } for ( int k = 1 ; k <= K ; k ++ ) { for ( int i = 0 ; i <= stone [k] [0] ; i ++ ) { for ( int j = V ; j >= stone [k] [i] ; j -- ) { f [k] [j] = max ( f [k - 1] [j] , max ( f [k - 1] [j - stone [k] [i]] + w [k] [i] , f [k] [j] ) ) ; } } } cout << f [K] [V] ; return 0 ; }


测评信息: