酷代码 AI
菜单
服务商

C++实现自动化药房配药检查功能

以下是实现该功能的 C++ 代码: ```cpp #include <iostream> #include <vector> using namespace std; int main() { int m, n; // 输入矩阵的行数和列数 cin >> m >> n; // 定义库存矩阵和需求矩阵 vector<vector<int>> stock(m, vector<int>(n)); vector<vector<int>> demand(m, vector<int>(n)); // 输入库存矩阵 for (int i = 0; i < m; ++i) { for (int j = 0; j < n; ++j) { cin >> stock[i][j]; } } // 输入需求矩阵 for (int i = 0; i < m; ++i) { for (int j = 0; j < n; ++j) { cin >> demand[i][j]; } } bool canFulfill = true; int firstRow = -1, firstCol = -1; // 检查是否能完成配药 for (int i = 0; i < m; ++i) { for (int j = 0; j < n; ++j) { if (stock[i][j] < demand[i][j]) { canFulfill = false; firstRow = i + 1; firstCol = j + 1; break; } } if (!canFulfill) { break; } } if (canFulfill) { cout << "YES" << endl; // 计算并输出剩余库存 for (int i = 0; i < m; ++i) { for (int j = 0; j < n; ++j) { stock[i][j] -= demand[i][j]; cout << stock[i][j]; if (j < n - 1) { cout << " "; } } cout << endl; } } else { cout << "NO" << endl; cout << firstRow << " " << firstCol << endl; } return 0; } ``` ### 代码解释: 1. **输入处理**:首先读取矩阵的行数 `m` 和列数 `n`,然后分别读取库存矩阵和需求矩阵。 2. **检查配药可行性**:遍历矩阵,检查每个位置的库存是否足够满足需求。如果发现某个位置的库存不足,将 `canFulfill` 标记为 `false`,并记录第一个不满足的位置。 3. **输出结果**: - 如果 `canFulfill` 为 `true`,输出 “YES”,并计算并输出每个药盒剩余的库存数量。 - 如果 `canFulfill` 为 `false`,输出 “NO”,并输出第一个不满足的位置。 ######[AI问答 | 701点数解答 | 2026-03-08 10:23:41]

相关提问
本站限时免费提问中
实用工具查看更多
Linux在线手册 [开发类]
Jquery在线手册 [开发类]
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]