題目的意思是求出每個隊穿主場衣服和客場衣服的次數
每個隊作為主場的次數是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; } }