题目描述:原题链接
思路:
拿数组a的下标先后来当作前者强与后者,最后如果a[i][j]==k则符合要求。
#include<iostream>
#include<string>
#include<cstdio>
#include<cmath>
#include<algorithm>
using namespace std;
typedef unsigned long long ll;
const int N = 1e5 + 10;
bool cmp(int x,int y)
{
return x<y;
}
int main()
{
int K,N,res=0;
cin>>K>>N;
int a[30][30],b[30][30];
for(int i=1; i<=K; i++)
for(int j=1; j<=N; j++)
cin>>b[i][j];
for(int i=1; i<=K; i++)
{
for(int j=1; j<N; j++)
{
for(int m=j+1; m<=N; m++)
{
a[b[i][j]][b[i][m]]++;
}
}
}
for(int i=1; i<=N; i++)
for(int j=1; j<=N; j++)
{
if(a[i][j]==K)
res++;
}
cout<<res<<endl;
return 0;
}