Advertisement
Guest User

Untitled

a guest
May 31st, 2016
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.64 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. #define pb push_back
  3. using namespace std;
  4. const int MAX=100009;
  5. vector <int> adj[MAX];
  6. bool vis[MAX];
  7. int c=0;
  8. int dfs(int v){
  9. vis[v]=1;
  10. int temp=0;
  11. for (int i=0;i<adj[v].size();i++){
  12. if (!vis[adj[v][i]]){
  13. if (dfs(adj[v][i])%2==0) c++;
  14. else temp+=adj[v][i];
  15. }
  16. }
  17. return temp+1;
  18. }
  19. int main(){
  20. int n,m;
  21. scanf("%d%d",&n,&m);
  22. memset(vis,0,sizeof(vis));
  23. for (int i=0;i<m;i++){
  24. int x,y;
  25. scanf("%d%d",&x,&y);
  26. adj[x].pb(y);
  27. adj[y].pb(x);
  28. }
  29. c += dfs(1) % 2 == 0;
  30. cout<<c<<endl;
  31. return 0;
  32. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement