Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
137120 就这? 解药还是毒药 C++ 解答错误 60 244 MS 244 KB 1093 2024-03-09 17:35:08

Tests(6/10):


#include <iostream> #include <vector> #include <bitset> #include <climits> using namespace std; int main() { int n, m; cin >> n >> m; vector<bitset<10>> drugs(m); for (int i = 0; i < m; i++) { for (int j = 0; j < n; j++) { int effect; cin >> effect; if (effect == 1) { drugs[i].set(j); } else if (effect == -1) { drugs[i].reset(j); } } } int minDrugs = INT_MAX; for (int i = 0; i < (1 << m); i++) { bitset<10> diseases; int numDrugs = 0; for (int j = 0; j < m; j++) { if (i & (1 << j)) { diseases |= drugs[j]; numDrugs++; } } if (diseases.count() == n) { minDrugs = min(minDrugs, numDrugs); } } if (minDrugs == INT_MAX) { cout << "The patient will be dead." << endl; } else { cout << minDrugs << endl; } return 0; }


测评信息: