Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
113612 | 李树强 | 一和零 | C++ | 解答错误 | 0 | 0 MS | 344 KB | 597 | 2023-12-02 11:18:11 |
#include<iostream> #include<string> using namespace std; const int N = 610, M = 110; int m, t, n, f[M][M], w1, w2; 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++; } else if(s[j] == '1'){ w2++; } } } for(int i = 1; i <= n; i++){ for(int j = 100; j >= 0; j--){ for(int k = 100; k >= 0; k--){ if(j >= w1 && k >= w2){ f[j][k] = max(f[j][k], f[j-w2][k-w1] + 1); } } } } cout << f[m][t] + 1 << endl; return 0; }