萌新刚学图论,问题求助
关于题目的限制:
Time Limit 3500MS
Memory Limit 64MB
我的代码:
#include<bits/stdc++.h>
using namespace std;
int n,m ;
struct Edge{
int next,to,dis;
}edge[1000101];
int head[1000001]={0},cnt=0,u,v;
bool edges[1000001]={0};
inline void add(int from,int t,int l){
edge[++cnt].next=head[from];
edge[cnt].to=t;
edge[cnt].dis=l;
head[from]=cnt;
}
int main(){
memset(head,-1,sizeof(head));
cin>>n>>m;
for(int i=1;i<=m;i++){
cin>>u>>v;
add(u,v,1);
add(v,u,1);
}
int sum=0;
//cout<<endl;
for(int i=1;i<=n;i++){
if(!edges[i]){
sum++;
edges[i]=1;
for(int j=head[i];j!=-1;j=edge[j].next){
edges[edge[j].to]=1;
//cout<<i<<" "<<edge[j].to<<"\n";
}
/*cout<<endl;*/
}
else
continue;
}
cout<<sum;
return 0;
}
只对了1个点XWX