HDU-3335-Divisibility

题意是说给你一列数,让你从中选出最多的数能够使得其两两之间不能整除

二分图匹配,求最小路径覆盖即可

代码:

#include
#include
#include
using namespace std;
const int maxn=1001;
long long n,a[maxn],match[maxn];
bool map[maxn][maxn],vis[maxn];
bool find(int u)
{
    for(int i=0;i

网上居然看到有人用DFS飘过,自己写了下~

代码:

#include
#include
#include
#include
using namespace std;
const int maxn=1001;
long long a[maxn],n;
bool vis[maxn];
void DFS(int index)
{
    vis[index]=1;
    for(int i=index+1;i


你可能感兴趣的:(ACM,HDU)