Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
113353 | 李树强 | 一和零 | C++ | 解答错误 | 66 | 0 MS | 320 KB | 608 | 2023-12-02 09:58:47 |
#include<iostream> #include<string> using namespace std; const int N = 110, M = 1010; int m, t, n, f[M][M], v[N], w1[N], w2[N]; string s; int main(){ cin >> n >> m >> t; for(int i = 1; i <= n; i++){ cin >> s; for(int j = 0; j < s.size(); j++){ if(s[j] == '0'){ w1[i]++; } else{ w2[i]++; } } v[i] = 1; } for(int i = 1; i <= n; i++){ for(int j = m; j >= 0; j--){ for(int k = t; k >= 0; k--){ if(j >= w1[i] && k >= w2[i]){ f[j][k] = max(f[j][k], f[j-w1[i]][k-w2[i]] + v[i]); } } } } cout << f[m][t]; return 0; }