基础知识懒得写。水题都放在这里的哦。

***集合

评价一个字,水。能评上蓝题说实话有一点侮辱 \(A+B\) \(problem\)。数据范围小,写起简单,还能评上蓝题。这样的题目给我再来一打如何。

#include<cstdio>
#include<cstring>
//#define zczc
using namespace std;
const int N=41;
inline void read(int &wh){
    wh=0;int f=1;char w=getchar();
    while(w<'0'||w>'9'){if(w=='-')f=-1;w=getchar();}
    while(w<='9'&&w>='0'){wh=wh*10+w-'0';w=getchar(); }
    wh*=f;return;
}
inline void check(int &s1,int s2){
	if(s1>s2)s1=s2;return; 
}

int m,n,q,d[N],a[N][N];

signed main(){
	
	#ifdef zczc
	freopen("in.txt","r",stdin);
	#endif
	
	int s1,s2;
	read(m);read(n);
	memset(a,0x3f,sizeof(a));
	for(int i=1;i<=n;i++){
		read(s1);read(s2);
		a[s1][s2]=a[s2][s1]=1;
	}
	for(int i=1;i<=m;i++){
		a[i][i]=0;
		for(int j=1;j<=m;j++){
			for(int k=1;k<=m;k++){
				check(a[j][k],a[j][i]+a[i][k]);
			}
		}
	}
	read(q);
	while(q--){
		read(s1);read(s2);
		for(int i=1;i<=m;i++){
			if(a[s1][i]+a[i][s2]==a[s1][s2]){
				printf("%d ",i);
			}
		}
		putchar('\n');
	}
	
	return 0;
}
一如既往,万事胜意