https://www.jisuanke.com/minicourse/738/37804
总结:这里用set记录一些二维数组,比较用bool数组,节省空间。注意就是set体中
ac代码:需要自己重载好顺序!
#include<iostream>
#include<set>
#include<string>
using namespace std;
struct data{
int love;
int fans;
data(){
love=fans=0;
}
}po[1005];
struct ew{
int x,y;
ew(int xx,int yy){
x=xx;
y=yy;
}
bool operator <(const ew &A)const{
if(x!=A.x)return x<A.x;
if(x==A.x&&y!=A.y)return y<A.y;
return false;
}
};
int main(){
int n,m;cin>>n>>m;
set<ew>s;
for(int i=1;i<=m;i++){
int ip1,ip2;
cin>>ip1>>ip2;
if(!s.count(ew(ip1,ip2))){
po[ip1].love++;
po[ip2].fans++;
s.insert(ew(ip1,ip2));
}
}
for(int i=0;i<n;i++){
cout<<po[i].fans-po[i].love<<endl;
}
return 0;
}