标签:nbsp color iostream AC return string for lag bool
poj2376
对于这道区间覆盖每次选择可选的最远的点...
选择更近的点是没有意义的
所以选择更近的点是更好的
代码如下...........
#include<cstdio> #include<iostream> #include<cstdlib> #include<cstring> #include<cmath> #include<algorithm> #include<queue> #include<stack> using namespace std; struct sd { int beg,end; }a[25005]; int cnt; bool cmp(sd a,sd b) {return a.end>b.end;} int main() { int n,len,last=1; cin>>n>>len; for(int i=1;i<=n;i++) scanf("%d%d",&a[i].beg,&a[i].end); sort(a+1,a+1+n,cmp); while(last<=len) { bool flag=0; for(int i=1;i<=n;i++) if(a[i].beg<=last&&a[i].end>=last) { last=a[i].end+1; flag=true; cnt++; } if(!flag) { printf("-1"); return 0; } } printf("%d",cnt); return 0; }
标签:nbsp color iostream AC return string for lag bool
原文地址:https://www.cnblogs.com/lanyangs/p/9124359.html