| 比赛 |
2026.9.12 |
评测结果 |
WWWWTTTTTT |
| 题目名称 |
画线 |
最终得分 |
0 |
| 用户昵称 |
__0w0__ |
运行时间 |
6.614 s |
| 代码语言 |
C++ |
内存使用 |
3.75 MiB |
| 提交时间 |
2026-09-12 12:21:32 |
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;//卡时会赢吗
#define pn f=1,puts("No");break;
#define s second
#define f first
int n,q,f;
set< pair<int,int> >s;
inline int fr(){
int x=0;
char c=getchar();
while(!isdigit(c))c=getchar();
while(isdigit(c))x=(x<<1)+(x<<3)+(c^48),c=getchar();
return x;
}
int main(){
freopen("circle.in","r",stdin);
freopen("circle.out","w",stdout);
cin>>n>>q;
for(int i=1;i<=q;i++){
int a=fr(),b=fr();
if(a>b)swap(a,b);
// if(b!=n){
f=0;
if(!s.empty()){
auto itt=upper_bound(s.begin(),s.end(),make_pair(a,b));
auto it=itt;
itt--;
for(int j=1;j<=16;j++){
if(it!=s.begin())it--;
pair<int,int>x=*it;
if(x.s-x.f-1<=n-x.s+x.f-1){
if(b>x.f&&b<x.s&&(a<x.f)){
pn
}
if(itt!=--s.end())itt++;
if(itt==s.end())continue;
x=*itt;
if(b>x.f&&x.s>b&&(a<x.f||b>x.s)){
pn
}
}else{
if(b<x.f||b>x.s){
pn
}
if(itt!=--s.end())itt++;
if(itt==s.end())continue;
x=*itt;
if(!(b>x.f&&x.s>b)&&(a<x.f||b>x.s)){
pn
}
}
}
}
if(!f)puts("Yes"),s.insert(make_pair(a,b));
// }
}
return 0;
}
/*
12 5
1 11
2 8
3 9
4 10
3 7
*/