暴力求解法
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
#include<queue>
using namespace std;
typedef long long ll;
const int N=2e3+10;
int a[N],b[N],c[N],d[N];
int n;
int main()
{
scanf("%d",&n);
int ans=0;
for(int i=0;i<n;i++)
scanf("%d%d",&a[i],&b[i]);
for(int i=0;i<n;i++)
scanf("%d%d",&c[i],&d[i]);
for(int i=0;i<n;i++) //暴力求解N^2
for(int j=0;j<n;j++)
{
int t=min(b[i],d[j])-max(a[i],c[j]); //求相交长度
ans+=max(t,0);
}
printf("%d\n",ans);
return 0;
}
更优的方法
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>