#170-[水]覆盖

Description

#170-[水]覆盖#170-[水]覆盖

若有A 行没有被扫完,每行没有扫完的被扫了B块,那么,被打扫的面积就是N*M-((N-A)*(M-B)).

C++的STLset辅助.

#include <iostream>
#include <set>

using namespace std;

set<int> s, s2;

int main(void)
{
	int n, m, b, g, i, x, y;
	
	scanf("%d%d%d%d", &n, &m, &b, &g);
	while (b--) // 行
	{
		scanf("%d%d", &x, &y);
		for (i = x; i <= y; ++i) // 直接入集合
		{
			s.insert(i);
		}
	}
	while (g--) // 列
	{
		scanf("%d%d", &x, &y);
		for (i = x; i <= y; ++i)
		{
			s2.insert(i);
		}
	}
	
	printf("%d", n * m - (n - s.size()) * (m - s2.size())); // 最后结果
	
	return 0;
}