PT07X  Vertex Cover
You are given an unweighted, undirected tree. Write a program to find a vertex set of minimum size in this tree such that each edge has as least one of its endpoints in that set.
Input
The first line of the input file contains one integer N  number of nodes in the tree (0 < N <= 100000). Next N1 lines contain N1 edges of that tree  Each line contains a pair (u, v) means there is an edge between node u and node v (1 <= u,v <= N).
Output
Print number of nodes in the satisfied vertex set on one line.
Example 1
Input: 3 1 2 1 3 Output: 1 Explanation: The set can be {1}
Example 2
Input: 3 1 2 2 3 Output: 1 Explanation: The set can be {2}
hide comments
vengatesh15:
20161223 06:50:41
AC in 1 go :) 

lt:
20161127 14:51:55
Greedy is failing in very particular cases, while DP is awesome! :D Last edit: 20161127 14:52:50 

kartikay singh:
20160630 18:05:47
Tried with dp,greedy and maximum matching ... :D 

Md. Najim Ahmed:
20160215 06:33:23
Excellent practice problem. Topics: Minimum dominating set in a tree.


bholagabbar:
20151207 17:11:25
To solve it using Maximum matching:


Rocker3011:
20150818 23:43:24
greedy! 

r0bo_dart:
20150624 15:03:17
This can be done using DP. But then try implementing it using Hopcroft Karp algo for Bipartite matching. 

GAURAV CHANDEL:
20150415 04:46:11
can be solved using dp 

Sudharsansai:
20150308 11:29:22
Those who have solved, can try http://www.spoj.com/problems/VOCV/

Added by:  ThanhVy Hua 
Date:  20070328 
Time limit:  1s3s 
Source limit:  50000B 
Memory limit:  1536MB 
Cluster:  Cube (Intel G860) 
Languages:  All except: ERL JSRHINO NODEJS PERL6 VB.NET 
Resource:  Coauthor Amber 