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大小的数组来统计每种主场颜色出现的次数,这样就可以知道每个队伍的客场跟别人的主场冲突的次数了,相应的客场衣服的次数也就能求出来了。
题意: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; }
相关文章推荐
- Codeforces 432 D. Prefixes and Suffixes
- Codeforces Round #432 (Div. 2) (Codeforces 850C) E. Arpa and a game with Mojtaba 博弈+状态压缩
- Codeforces 432 D. Prefixes and Suffixes
- Codeforces 432 A. Choosing Teams
- 432B - Football Kit
- codeforces 432D D . Prefixes and Suffixes(后缀数组)
- Codeforces 432 D. Prefixes and Suffixes
- codeforces 432 B Football Kit
- codeforces 851 #432 div2 C Five Dimensional Points
- [Codeforces] #432 div.2 (Virtual)
- Codeforces 851D Arpa and a list of numbers Round #432 (Div. 2
- Codeforces 432 Div. 2-D-Arpa and a list of numbers(枚举倍数求GCD)
- [Codeforces] 79
- codeforces 519E A and B and Lecture Rooms
- Codeforces--630J--Divisibility(公倍数)
- CodeForces 616A
- CodeForces - 450D Jzzhu and Cities spfa变形
- codeforces 817C
- 【CodeForces】CodeForces Round #462 (Div. 1 + Div. 2) 题解
- Codeforces 165D