rt,我们老师写了个生成二分图的程序然后发现挂了,就是生成的可能不是二分图。想请问一下是这个程序挂了还是 std 什么的出了问题:
#include<bits/stdc++.h>
using namespace std;
int n,m,cnt,a[100010];
map<pair<int,int>,bool> mp;
int main(){
srand(time(0));
n=100000,m=200000;
cout<<n<<" "<<m<<endl;
for(int i=1;i<=n;i++) a[i]=rand()%2;
for(int i=1;i<=m;i++){
int x=rand()*rand()%n+1,y=rand()*rand()%n+1;
while(a[x]==a[y] || mp[make_pair(x,y)] || mp[make_pair(y,x)])
x=rand()*rand()%n+1,y=rand()*rand()%n+1;
mp[make_pair(x,y)]=1;
cout<<x<<" "<<y<<endl;
}
return 0;
}