您的位置:首页 > 其它

Codeforces 432 B. Football Kit

2014-05-16 11:22 253 查看
题目:http://codeforces.com/problemset/problem/432/B

题意:N个足球队要打比赛,每支队伍都要和其他N-1支队伍打两场,一场主场一场客场,每支队伍的衣服颜色都有分主场x和y,并且x!=y。原则上主场就穿主场颜色的衣服,客场就穿客场颜色的。但是如果一支队伍的是打客场,并且客场颜色刚好跟对方主场颜色一样,为了可以区分,这支客场的队伍需要穿他们主场的衣服。

问题就是要我们计算出,在所有比赛结束后,每个队伍的主场和客场衣服各穿了多少次。

首先,每支队伍都要打自己主场的比赛n-1次,所以他们主场颜色的衣服至少是N-1次,剩下的就是n-1次客场作战的比赛中,看他们客场衣服跟其他队主场的冲突次数了。由于颜色使用整数表示,并且不超过100000,所以我们可以直接开个100001大小的数组来统计每种主场颜色出现的次数,这样就可以知道每个队伍的客场跟别人的主场冲突的次数了,相应的客场衣服的次数也就能求出来了。

#include<cstdio>
#include<cstring>
#define N 100001
int n, i, a, b, x
, y
, f
;
int main(){
while(~scanf("%d", &n)){
memset(f,0,sizeof(f));
for(i=0; i<n; i++){
scanf("%d %d", x+i, y+i);
f[x[i]]++;
}
for(i=0; i<n; i++){
a = n-1 + f[y[i]];
b = n-1 - f[y[i]];
printf("%d %d\n", a, b);
}
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: