一、题目
二、分析
定义一个数组a[i][j]:编号为i的奶牛第j次比赛的排名;
称一对不同的奶牛是一致的,当且仅当其中一头奶牛在每次训练课中都表现得都比另一头要好。
通过循环即可判断两头奶牛是否一致。
三、代码
#include <bits/stdc++.h>
using namespace std;
const int N = 100;
int a[N][N];
int k, n;
bool If(int x, int y) //判断x是否每一次排名都在y之前
{
for (int i = 1; i <= k; i++)
if (a[x][i] > a[y][i])
return false;
return true;
}
int main()
{
cin >> k >> n;
for (int i = 1; i <= k; i++)
{
for (int j = 1; j <= n; j++)
{
int x;
cin >> x;
a[x][i] = j;
}
}
int sum = 0;
for (int i = 1; i <= n; i++)
{
for (int j = i + 1; j <= n; j++)
{
if (If(i, j) || If(j, i))
{
sum++;
}
}
}
cout << sum << endl;
return 0;
}