F - Friends
有限制的关系传递 k个共同朋友才能成为朋友 。
注意标记与反复 遍历
F - Friends
#include<bits/stdc++.h>
using namespace std;
int mmp[105][105];
int main()
{
ios::sync_with_stdio(false);
int t,n,m,q,a,b,sum,ans;
cin>>t;
while(t--)
{
ans=0;
memset(mmp,0,sizeof(mmp));
cin>>n>>m>>q;
while(m--)
{
cin>>a>>b;
mmp[a][b]=mmp[b][a]=1;
}
for(int i=0; i<n; i++)
for(int j=0; j<n; j++)
{
sum=0;
if(mmp[i][j]==0&&i!=j)
{
for(int k=0; k<n; k++)
if(mmp[i][k]==1&&mmp[j][k]==1)
{
sum++;
if(sum>=q)
break;
}
if(sum>=q)
{
mmp[i][j]=mmp[j][i]=1;
ans++;
j=i=0;
}
}
}
cout<<ans<<endl;
}
return 0;
}
885

被折叠的 条评论
为什么被折叠?



