| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
贴个代码,过了但是我觉得有问题,各位大神有空看下#include <iostream>
#include<map>
#include<string>
#include<memory.h>
#include<math.h>
#include<stdio.h>
#include<algorithm>
using namespace std;
int n,t;
struct st{
int a,b;
}que[25005];
bool sort1( st x,st y){
return x.a<y.a;
}
int main()
{
//freopen("in.txt","r",stdin);
scanf("%d%d",&n,&t);
int i,j;
for(i=1;i<=n;i++)
scanf("%d%d",&que[i].a,&que[i].b);
sort(que+1,que+n+1,sort1);
int num=0,data1=1,data2=0;
if(que[1].a>1)
cout<<-1<<endl;
else{
data2=data1=0;
j=1,i=1;
int fg;
for(;j<=n;){
fg=0;
for(;i<=n;i++){
if(que[i].a<=data1+1)
{fg=1;
if(que[i].b>data2)
data2=que[i].b,j=i;
}
else
break;
}
if(fg==0)
break;
data1=que[j].b;
num++;
//cout<<que[j].b;
if(data2>=t)
break;
}
if(que[j].b>=t&&fg==1)
cout<<num<<endl;
else
cout<<-1<<endl;
}
return 0;
}
这个所设置的fg完全没意义啊,应该把fg放在 if(que[i].b>data2)下一级才对吧,
放这个位置会导致不连续的情况出现
Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator