问用三条 水平或竖直线能否覆盖所有点
http://acm.hunnu.edu.cn/online/?action=problem&type=show&id=11163
直接DFS,想贪心想了好久,设想各种优先级都不能够满足条件,其实限制在三条直线,dfs 的复杂度只有O(8n)
#include <stdio.h>
#include <algorithm>
#define N 100001
struct Point{
int p,f,id;
void init(int a,int b,int c)
{
p = a;
id = b;
f = c;
}
}arr[N];
bool cmp(Point a,Point b)
{
return a.p < b.p;
}
int cow[N][2],x[N],y[N];
int n,flag;
void dfs(int k,int t)
{
if(flag)
return ;
if(k > 3)
retu