题意:
有两台电视,每台可以播放一个时间段的节目,当节目结束的下一个时刻才可以播放其他节目,问是否可以观看全部节目。
对电视设一个判断有无在播放的tag,模拟即可。
AC代码:
1 #include2 using namespace std; 3 4 struct node{ 5 int s,t; 6 }a[200010]; 7 8 struct tv{ 9 int e;10 int tag;11 }t[5];12 13 int cmp(node x,node y){14 if(x.s==y.s)15 return x.t >n;24 for(int i=0;i >a[i].s>>a[i].t;26 }27 sort(a,a+n,cmp);28 t[0].e=-1;29 t[1].e=-1;30 t[0].tag=0;31 t[1].tag=0;32 int flag=0;33 for(int i=0;i t[0].e){35 t[0].tag=0;36 }37 else if(a[i].s>t[1].e){38 t[1].tag=0;39 } 40 if(!t[0].tag){41 t[0].tag=1;42 t[0].e=a[i].t;43 }44 else if(!t[1].tag){45 t[1].tag=1;46 t[1].e=a[i].t;47 }48 else{49 flag=1;50 break;51 }52 }53 if(flag){54 cout<<"NO"<