Checkpoint

3.2

5 votes
Algorithms, Graph Representation, Graphs, C++
Problem

A river has N checkpoints on left side and M checkpoints on the right side. P bridges are built connecting checkpoints across the river. Guards needs to be placed on checkpoints, a guard can protect all the bridges on which this checkpoint is present. There can be more than one guard to protect a single bridge.

Find the minimum number of guards required to protect all the bridges over the river.

Input Format:

  • First line contains three space-separated integers N M P.
  • Next P lines contains two space separated integers u v , denoting a bridge connecting the u checkpoint on the left side to the v checkpoint on the right side.

Output Format:

Print the minimum number of guards required to protect all the bridges over the river.

Constraints:

1N,M2×1051P1051uN1vM

Time Limit: 2
Memory Limit: 256
Source Limit:
Explanation

Place guards on checkpoint 1 and 2 on left side of river to cover all bridges.

Editor Image

?