Advertisement
来源:互联网 发布:lol什么意思网络用语 编辑:程序博客网 时间:2024/04/28 11:39
#include<iostream>#include<fstream>#include<cstdlib>using namespace std;ifstream fin("C:\\data10.in");struct node{ node(int beg=0,int end=0):startpos(beg),endpos(end){} node& operator=(const node& nd) { startpos=nd.startpos; endpos=nd.endpos; return *this; } int startpos; int endpos;};int K,N,M;node interval[1000];int billboard[1000];void sort(){ for(int i=1;i<N;++i) { for(int j=i;j>0;--j) { node nd; if(interval[j].endpos<interval[j-1].endpos) { nd=interval[j]; interval[j]=interval[j-1]; interval[j-1]=nd; } else if(interval[j].endpos==interval[j-1].endpos) { if(interval[j].startpos<interval[j-1].startpos) { nd=interval[j]; interval[j]=interval[j-1]; interval[j-1]=nd; } else break; } } }}void Init(){ fin>>K>>N; int beg,end; M=0; for(int i=0;i<1000;++i) billboard[i]=0; for(int i=0;i<N;++i) { fin>>beg>>end; if(beg>end) { int temp=beg; beg=end; end=temp; } node nd(beg,end); interval[i]=nd; } sort();}void FillBillBoard(){ for(int i=0;i<N;++i) { int cnt=0; if(i==0) { for(int j=interval[0].endpos;j>=interval[0].startpos;--j) { billboard[j]=1; ++cnt; ++M; if(cnt>=K) break; } } //i!=0的情况本可以合并,但出于利益最大化的角度考虑,将i=N-1和i!=N-1分开来写,以更好地模拟实际情况 else if(i==N-1) { for(int j=interval[j].startpos;j<=interval[j].endpos;++j) { if(billboard[j]==1) { ++cnt; if(cnt>=K) break; } } if(cnt>=K) continue; for(int j=interval[j].startpos;j<=interval[j].endpos;++j) { if(billboard[j]==0) { billboard[j]=1; ++cnt; ++M; if(cnt>=K) break; } } } else { for(int j=interval[i].startpos;j<=interval[i].endpos;++j) { if(billboard[j]==1) ++cnt; } if(cnt>=K) continue; for(int j=interval[i].endpos;j>=interval[i].startpos;--j) { if(billboard[j]==0) { billboard[j]=1; ++cnt; ++M; if(cnt>=K) break; } } } }}void print(){ cout<<M<<endl; for(int i=1;i<interval[N-1].endpos;++i) { if(billboard[i]==1) cout<<i<<endl; }}int main(){ Init(); FillBillBoard(); print(); system("pause"); return 0;}
0 0
- Advertisement
- poj1752 - Advertisement
- 10148 - Advertisement
- advertisement总结
- UVA 11983 Weird Advertisement
- ZOJ2049 POJ1752 Advertisement
- UVa 10148 - Advertisement
- UVa 10148 - Advertisement
- uva 10148 - Advertisement
- uva10148 - Advertisement(广告)
- UVA - 10148 Advertisement
- UVa:10148 Advertisement(贪心)
- UVa 10148 - Advertisement
- UVA - 10148 Advertisement
- uva10148 - Advertisement(区间选点)
- UVa 10148 - Advertisement
- UVA10148- Advertisement(区间选点)
- UVA11983 - Weird Advertisement(扫描线)
- Build GCC 4.7.1 on IRIX
- 阿里IPO融资规模或成全球最大:这么多钱怎么花?
- Objective-C Json 使用
- BitmapFactory类
- c++ setlocale函数的应用
- Advertisement
- 第十一周项目三——程序的多文件组织
- ListView总结
- Android Canvas绘图详解
- system阻塞SIGCHLD信号原因
- 我们怎么做需求分析 笔记3
- 普通选择器的使用--选择籍贯
- ::域名解析符!
- iOS 应用直接调用