参考程序:
cpp
#include <iostream>
#include <set>
using namespace std;
int main() {
int n, m, x, y;
cin >> n >> m >> x >> y;
set<int> filledRows, filledCols;
// 读取被填色的行号
for (int i = 0; i < x; i++) {
int row;
cin >> row;
filledRows.insert(row); // 将填色的行添加到集合中
}
// 读取被填色的列号
for (int i = 0; i < y; i++) {
int col;
cin >> col;
filledCols.insert(col); // 将填色的列添加到集合中
}
// 计算未填色的行和列的数量
int unfilledRows = n - filledRows.size(); // 未填色的行数
int unfilledCols = m - filledCols.size(); // 未填色的列数
// 未填色的小方格数量
int unfilledSquares = unfilledRows * unfilledCols;
cout << unfilledSquares << endl; // 输出结果
return 0;
}