A. Cow Gymnastics
题目描述
有n头牛一起参加了k次比赛,给出k次比赛的排名,问共有几组牛满足 其中一头牛每次比赛都比另一头厉害。
题目分析
由于数据量比较小(1<=k<=10)(1<=n<=20),直接多层循环计算出每两头牛之间的胜负情况即可。
代码
#include <bits/stdc++.h>
using namespace std;
int cow[20][20],practise[10][20];
int main()
{
int k,n;
cin>>k>>n;
for(int i=0;i<k;i++){
for(int j=0;j<n;j++){
scanf("%d",&practise[i][j]);
}
}
for(int i=1;i<=n;i++){//每一头牛
int flag=0;
for(int j1=0;j1<k;j1++){//在每场比赛中
flag=0;
for(int j2=0;j2<n;j2++){//战斗情况
if(flag)
cow[i-1][practise[j1][j2]-1]++;//战胜场数加一
else if((!flag)&&practise[j1][j2]==i)
flag=1;
}
}
}
long long ans=0;
for(int i=0;i<20;i++){
for(int j=0;j<20;j++){
if(cow[i][j]==k)
ans++;
}
}
printf("%lld\n",ans);
}