这个题的意思是朋友关系,有共同朋友的也是朋友。所以想到直接用二维数组标记,像桶排那种,或者是并查集(一开始并没有想到,已经忘了怎么写了),先写暴力的吧
麻烦在于优化,做朋友介绍的时候要思路清晰,减少重复
#include<bits/stdc++.h> using namespace std; int c[2000+5][2000+5]; int main() { int n,m,q,y,x,a,b; cin>>n>>m>>q; for(int i=1;i<=m;i++){ cin>>a>>b; c[a][b]=1; c[b][a]=1; } for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ if(c[i][j]==1){ for(int p=j+1;p<=n;p++){ if(c[i][p]==1){ c[j][p]=1; c[p][j]=1; } } } } } for(int i=1;i<=q;i++){ cin>>x>>y; if(c[x][y]==1)cout<<"Y"<<endl; else cout<<"N"<<endl; } return 0; }