昨晚C题求调
  • 板块灌水区
  • 楼主Eric998
  • 当前回复4
  • 已保存回复4
  • 发布时间2022/5/15 08:14
  • 上次更新2023/10/28 01:25:06
查看原帖
昨晚C题求调
678534
Eric998楼主2022/5/15 08:14
#include<iostream>
#include<set>
#include<algorithm>
#include<vector>
using namespace std;
int main(){
	int n,q;
	cin>>n>>q;
	set<int> x,y;
	for(int i=0;i<q;i++){
		int op;
		cin>>op;
		if(op==1){
			int rx,ry;
			cin>>rx>>ry;
			x.insert(rx);
			y.insert(ry);
		}
		if(op==2){
			int rx,ry;
			cin>>rx>>ry;
			x.erase(rx);
			y.erase(ry);
		}
		if(op==3){
			int x1,y1,x2,y2;
			cin>>x1>>y1>>x2>>y2;
			bool okx=true,oky=true;
			int disx=distance(lower_bound(x.begin(),x.end(),x1),upper_bound(x.begin(),x.end(),x2));
			int disy=distance(lower_bound(y.begin(),y.end(),y1),upper_bound(y.begin(),y.end(),y2));
			if(disx!=(x2-x1+1))okx=false;
			if(disy!=(y2-y1+1))oky=false;
			if(okx||oky){
				cout<<"Yes\n";
			}else{
				cout<<"No\n";
			}
		}
	}
}
2022/5/15 08:14
加载中...