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

题目的意思是求出每个队穿主场衣服和客场衣服的次数

每个队作为主场的次数是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;
    }
}

 

posted @ 2014-05-16 14:51  OpenSoucre  阅读(213)  评论(0编辑  收藏  举报