Codeforces Round #246 (Div. 2) B. Football Kit

OpenSoucre發表於2014-05-16

題目的意思是求出每個隊穿主場衣服和客場衣服的次數

每個隊作為主場的次數是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;
    }
}

 

相關文章