frog has a graph with nn vertices v(1),v(2),…,v(n)v(1),v(2),…,v(n) and mm edges (v(a1),v(b1)),(v(a2),v(b2)),…,(v(am),v(bm))(v(a1),v(b1)),(v(a2),v(b2)),…,(v(am),v(bm)).
She would like to color some vertices so that each edge has at least one colored vertex.
Find the minimum number of colored vertices.
The input consists of multiple tests. For each test:
The first line contains 22 integers n,mn,m (2≤n≤500,1≤m≤n(n−1)22≤n≤500,1≤m≤n(n−1)2). Each of the following mm lines contains 22 integers ai,biai,bi (1≤ai,bi≤n,ai≠bi,min{ai,bi}≤301≤ai,bi≤n,ai≠bi,min{ai,bi}≤30)
For each test, write 11 integer which denotes the minimum number of colored vertices.
3 2
1 2
1 3
6 5
1 2
1 3
1 4
2 5
2 6
1
2
题解:
最小顶点覆盖==最大匹配
#include
using namespace std;
const int maxn=505;
vectorG[maxn];
int match[maxn];
bool vis[maxn];
bool dfs(int v)
{
vis[v]=1;
for(int i=0;i