code(非完整版)
int n,p,ans=0;
cin>>n>>p;
for(int i=1;i<=n;i++){
cin>>x[i]>>y[i];
t[x[i]]++,t[y[i]]++;
t2[x[i]]++,t2[y[i]]++;
}
sort(t+1,t+n+1);
int now=n;
for(int i=n-1;i>=1;i--){
s[i]=s[i+1];
while(t[now]==i && now>=1) s[i]++,now--;
}
for(int i=1;i<=n;i++){
int tot=p-t2[i];
if(tot<=0){
ans+=(n-1);
continue;
}
ans+=s[tot];
if(t2[i]>=tot){
ans--;
}
}
cout<<ans/2;
求助,谢谢!