基础知识懒得写。水题都放在这里的哦。
***集合
评价一个字,水。能评上蓝题说实话有一点侮辱 \(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;
}