| Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
|---|---|---|---|---|---|---|---|---|---|
| 435179 | 王栎州 | 26年2月-A组(萌新)D. 限量销售 | C++ | 运行出错 | 0 | 2 MS | 236 KB | 1157 | 2026-04-04 14:06:54 |
#include <iostream> #include <cstring> using namespace std; const int MAXN = 110; // 会员数 const int MAXM = 110; // 图书数 int a[MAXN], b[MAXN]; // 存储每个人的第一、第二目标 bool book[MAXM]; // 标记图书是否被买走 int main() { int N, M; cin >> N >> M; // 读取N个会员的目标 for (int i = 1; i <= N; i++) { cin >> a[i] >> b[i]; } // 枚举:取消前 i 个人(i从0到N-1) for (int i = 0; i < N; i++) { memset(book, false, sizeof(book)); // 每次重置图书状态 int cnt = 0; // 成功购买人数 // 从第 i+1 个人开始,到第 N 个人结束 for (int j = i + 1; j <= N; j++) { int A = a[j]; int B = b[j]; if (!book[A]) { // 第一目标有货 book[A] = true; cnt++; } else if (!book[B]) {// 第二目标有货 book[B] = true; cnt++; } // 否则不买 } cout << cnt << endl; // 输出当前答案 } return 0; }