CF432B Football Kit 题解
题目大意:
题目链接
共有
每支球队都分别有主队服和客队服,编号分别为
当客队队服编号和主队队服相同时,就产生冲突,客队换成自己主队的队服。
求每支队伍主队服穿了几次,客队服穿了几次。
本题思路:
分析:
本题数据范围为
再重新看这道题,可以发现:每支球队都至少会穿
有了思路,就可以开始敲代码了。
步骤:
这里用了一个结构体。
然后开一重循环,分别进行记录(详细解释请见代码)。每支球队的穿主队服次数就是
然后便可以开心输出了!
代码来咯~
#include<bits/stdc++.h>
using namespace std;
const int N=2e5+5;
int n,ton[N];
struct cz{//结构体,不用也没事
int x,y;
}a[N],b[N];
int main(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i].x>>a[i].y;//输入
ton[a[i].x]++;//用桶数组记录
}
for(int i=1;i<=n;i++){
b[i].x=n-1+ton[a[i].y];//记录穿主队服的次数
b[i].y=n-1-ton[a[i].y];//记录穿客队服的次数
}
for(int i=1;i<=n;i++)
cout<<b[i].x<<" "<<b[i].y<<endl;
return 0;
}