资深守护
6170 查询两点之间边的数量
题目描述 Description
如果在任意两点之间最多只有一条边,那么这个图就是一个简单图。如果某两点之间不止一条边,这些边就叫做重边。这个图就叫做多重图。
现在给出一个无向的多重图,要查询任意两点之间边的个数。
输入描述 Input Description
第一行,两个整数,n m
接下来m行,每行两个空格隔开的整数,x y,表示x和y之间存在一条边
接下来1行,一个整数q,表示询问的个数
接下来q行,每行两个整数,x y,表示要查询x和y之间是否存在边
输出描述 Output Description
q行,每行一个整数,第i行的是第i个查询的结果
样例输入 Sample Input
3 6 1 2 1 2 1 3 1 3 1 3 2 3 3 2 1 1 3 3 2
样例输出 Sample Output
2 3 1
数据范围及提示 Data Size & Hint
n<=1000
#include <iostream>
#include <cmath>
#include <vector>
using namespace std;
int n,m,x,y,q;
vector<int> G[10005];
int main(){
cin>>n>>m;
for(int i=1;i<=m;i++){
cin>>x>>y;
G[x].push_back(y);
G[y].push_back(x);
}
cin>>q;
for(int i=1;i<=q;i++){
cin>>x>>y;
cout<<min(G[x].size(),G[y].size())<<endl;
}
return 0;
}
0分代码
大佬们,请问哪错了?