题目的意思是求出每个队穿主场衣服和客场衣服的次数
每个队作为主场的次数是n-1,作为客场的次数是n-1
当每个队打主场的时候肯定穿的主场衣服
当每个队打客场时,如果客场与主场的衣服不同,则穿客场衣服
如果客场与主场的衣服相同,则穿主场衣服
则只需要标记主场每种衣服有多少球队,当作为客场时查找与客场颜色相同的主场球队有多少即可
#include <iostream> #include <map> #include <vector> #include <algorithm> using namespace std; int main(){ int n; cin >> n; vector<int> home(n,0),away(n,0); map<int,int> cnt; for(int i = 0 ; i < n; ++ i ){ cin >> home[i] >> away[i]; if(cnt.find(home[i]) == cnt.end()) cnt.insert(make_pair(home[i],1)); else cnt[home[i]] ++ ; } for(int i = 0 ; i < n ; ++ i){ cout<<n-1+cnt[away[i]]<<" "<<n-1-cnt[away[i]]<<endl; } }