文章
34
粉丝
179
获赞
13
访问
199.0k
int main(){
//problem 6
//弹珠不连续跳,陷阱也可以不连续
//找到最大步长,然后判断前一个l+最大步长是否大于下一个l,如果大于说明可能掉入当前陷阱或者是跳过多个陷阱
int t;
cin>>t;
//int a[n][2];
//int n;
//cin>>n;
//int a[n][2];
while (t--){
int n;
cin>>n;
int a[n][2];
int flag=1;
int max=0;
for(int i=0;i<n;i++){
scanf("%d %d",&a[i][0],&a[i][1]);
if(a[i][1]-a[i][0]>max) //寻找最大步长
max=a[i][1]-a[i][0];
}
for(int j=0;j<n-1;j++){
if(a[j][0]+max>a[j+1][0]){
flag=0;
break;
}
}
if(flag==0)
printf("NO\n");
else
printf("YES\n");
}
return 0;
}
#include <iostream>
#include<stdio.h>
#include<algorithm>
using namespace std;
typedef struct{
int l;
int r;
//int cha;
}info;
/*
bool cmp(info a,info b){
return a.cha>b.cha; ...
登录后发布评论
暂无评论,来抢沙发