#include using namespace std; //交集求和 int GetSameCount(pair a, pair b) { map, int> _map; for (int i = a.first; i < a.second; i++) { _map[make_pair(i, i + 1)]++; } for (int i = b.first; i < b.second; i++) { _map[make_pair(i, i + 1)]++; } int count = 0; //查找所有重复的数字段,即2的 map, int>::iterator it; for (it = _map.begin(); it != _map.end(); it++) { auto c = *it; if (c.second == 2) count++; } return count; } int main() { int n; cin >> n; vector> H; vector> W; for (int i = 0; i < n; i++) { int a, b; cin >> a >> b; H.push_back(make_pair(a, b)); } for (int i = 0; i < n; i++) { int c, d; cin >> c >> d; W.push_back(make_pair(c, d)); } //计算交集 int sum = 0; for (int i = 0; i < n; i++) { pair ab = H[i]; for (int j = 0; j < n; j++) { pair cd = W[j]; //求和 sum += GetSameCount(ab, cd); } } cout << sum << endl; return 0; }