QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#319838 | #692. Delete the Points | xmb | WA | 0ms | 3644kb | C++14 | 1.6kb | 2024-02-03 10:37:07 | 2024-02-03 10:37:07 |
Judging History
answer
#include<bits/stdc++.h>
using namespace std;
int t,n;
struct node{
int x,y;
}mp[30010];
bool cmp(node a,node b){
if(a.x!=b.x)
return a.x<b.x;
return a.y<b.y;
}
stack<node> que;
node xx,yy,zz;
signed main(){
// freopen("stone10.in","r",stdin);
// freopen("stone10.ans","w",stdout);
scanf("%d",&t);
while(t--){
scanf("%d",&n);
puts("Yes");
for(int i=1;i<=n;i++)
scanf("%d%d",&mp[i].x,&mp[i].y);
sort(mp+1,mp+n+1,cmp);
for(int i=1;i<=n;i++) que.push({mp[i].x,mp[i].y});
while(que.size()>=3){
xx=que.top(); que.pop();
yy=que.top(); que.pop();
zz=que.top();
// cout<<"---"<<xx.x<<" "<<yy.x<<" "<<zz.x<<endl;
if(xx.x==yy.x)
cout<<yy.x<<" "<<yy.y<<" "<<yy.x+(xx.y-yy.y)<<" "<<xx.y<<"\n";
else{
if(yy.y<=xx.y)
cout<<yy.x<<" "<<yy.y<<" "<<max(xx.x-yy.x,xx.y-yy.y)+yy.x<<" "<<max(xx.x-yy.x,xx.y-yy.y)+yy.y<<"\n";
else{
if(zz.x==yy.x&&zz.y>xx.y){
cout<<zz.x<<" "<<zz.y<<" "<<zz.x+(yy.y-zz.y)<<" "<<yy.y<<"\n";
que.pop(); que.push(xx);
}
else if(zz.x==yy.x&&zz.y==xx.y){
if(yy.y-zz.y<=xx.x-zz.x){
cout<<(double)(zz.x)-0.5<<" "<<zz.y<<" "<<(double)(zz.x)-0.5+(double)(yy.y-zz.y)<<" "<<yy.y<<"\n";
que.pop(); que.push(xx);
}
else{
cout<<zz.x<<" "<<zz.y<<" "<<xx.x<<" "<<zz.y+(xx.x-zz.x)<<"\n";
que.pop(); que.push(yy);
}
}
else
cout<<yy.x<<" "<<xx.y<<" "<<yy.x+max(yy.y-xx.y,xx.x-yy.x)<<" "<<xx.y+max(yy.y-xx.y,xx.x-yy.x)<<"\n";
}
}
}
cout<<0<<" "<<0<<" "<<1000000000<<" "<<1000000000<<"\n";
}
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 0
Wrong Answer
time: 0ms
memory: 3644kb
input:
4 1 1 2 2 5 5 6 6
output:
Yes 0 0 1000000000 1000000000 Yes 5 5 6 6 0 0 1000000000 1000000000 Yes 5 5 6 6 0 0 1000000000 1000000000 Yes 5 5 6 6 0 0 1000000000 1000000000
result:
wrong answer We have 4 point(s) in query 0