codeforces 432 B Football Kit

题意:给出n支球队,主场的衣服的颜色x[i],客场的衣服的颜色y[i],每只队伍会打n-1次主场,n-1次客场,当这只队伍打客场的衣服颜色和对手一样的时候,那么他们要穿上主场的衣服

问每个球队主场球服和客场球服分别穿了多少次

主场分两部分

1.本来n-1场穿的

2.打客场的时候和对手一样穿上主场的衣服

所以统计一下主场的每种颜色对应的衣服有多少件

那么对应于一只球队(x[i],y[i])

就是n-1+home[y[i]],n-1-home[y[i]]

 

题意好绕的说啊-----55555555555555

 1 #include<iostream>  
 2 #include<cstdio>  
 3 #include<cstring> 
 4 #include <cmath> 
 5 #include<stack>
 6 #include<vector>
 7 #include<map> 
 8 #include<set>
 9 #include<queue> 
10 #include<algorithm>  
11 using namespace std;
12 
13 typedef long long LL;
14 const int INF = (1<<30)-1;
15 const int mod=1000000007;
16 const int maxn=100005;
17 
18 
19 int home[maxn],away[maxn];
20 int x[maxn],y[maxn];
21 int cx[maxn],cy[maxn];
22 
23 int main(){
24     int n;
25     scanf("%d",&n);
26     memset(home,0,sizeof(home));
27     memset(away,0,sizeof(away));
28     
29     for(int i=1;i<=n;i++){
30         cin>>x[i]>>y[i];
31         home[x[i]]++;
32         away[y[i]]++;        
33     }
34     
35     for(int i=1;i<=n;i++){
36         int u,v;
37         u=n-1+home[y[i]];
38         v=n-1-home[y[i]];
39     //    printf("home[%d]=%d\n",y[i],home[y[i]]);
40         printf("%d %d\n",u,v);
41     }
42     return 0;
43 }
View Code

 

posted @ 2015-04-24 15:09  sequenceaa  阅读(181)  评论(0编辑  收藏  举报