QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#757509 | #692. Delete the Points | osky123456 | WA | 0ms | 3800kb | C++14 | 2.7kb | 2024-11-17 09:05:05 | 2024-11-17 09:05:06 |
Judging History
answer
#include <bits/stdc++.h>
using ll = long long ;
using ull = unsigned long long ;
using db = double ;
using namespace std;
#define pii pair<int,int>
#define all(x) x.begin() , x.end() ;
const int maxn = 3010 , inf = 1e9 ;
struct node{
int X,Y;
friend bool operator < (node x,node y){
return x.X<y.X || (x.X==y.X && x.Y<y.Y);
}
}d[maxn];
int i,j,k,n,m,is[maxn];
vector<pair<pair<double,double>,pair<double,double>>>Ans;
void work(double X1,double Y1,double X2,double Y2){
Ans.push_back(make_pair(make_pair(X1,Y1),make_pair(X2,Y2)));
}
void solve() {
Ans.clear();
cin>>n;
for(i=1;i<=n;i++)
cin >> d[i].X >> d[i].Y ;
set<node>S;
for(i=1;i<=n;i++)S.insert(d[i]);
while(!S.empty()){
auto now=*S.begin();S.erase(now);
auto p=*S.begin();
while(1){
if(now.X==p.X){
work(now.X-(p.Y-now.Y),now.Y,now.X,p.Y);
S.erase(p);
break;
}else
if(p.Y>now.Y){
work(p.X-inf,p.Y-inf,p.X,p.Y);
S.erase(p);
break;
}else
if(S.size()<=1){
work(p.X-inf,now.Y-inf,p.X,now.Y);
S.erase(p);
break;
}else{
S.erase(p);
auto tmp=*S.begin();
S.erase(tmp);
if(tmp.Y>now.Y || tmp.X!=p.X){
work(p.X-inf,now.Y-inf,p.X,now.Y);
S.insert(tmp);
}else
if(tmp.Y<now.Y){
work(tmp.X-inf,tmp.Y-inf,tmp.X,tmp.Y);
S.insert(now);
}else
if(tmp.Y-p.Y<tmp.X-now.X){
work(tmp.X+0.001-(tmp.Y-p.Y),p.Y,tmp.X+0.001,tmp.Y);
S.insert(now);
}else{
work(now.X,tmp.Y+0.001-(tmp.X-now.X),tmp.X,tmp.Y+0.001);
S.insert(p);
}
break;
}
}
}
cout << "Yes\n" ;
for(auto p:Ans){
cout << fixed << setprecision(4) << p.first.first << ' ' << p.first.second << ' ' << p.second.first << ' ' << p.second.second << '\n' ;
}
}
signed main() {
// freopen("stone.in" , "r",stdin) ;
// freopen("stone.out" , "w",stdout) ;
ios::sync_with_stdio(false) ;
cin.tie(nullptr) , cout.tie(nullptr) ;
int T;cin >> T;
while(T--) solve() ;
return 0 ;
}
詳細信息
Test #1:
score: 0
Wrong Answer
time: 0ms
memory: 3800kb
input:
4 1 1 2 2 5 5 6 6
output:
Yes -1000000000.0000 -999999998.0000 0.0000 2.0000 Yes -999999994.0000 -999999994.0000 6.0000 6.0000 Yes -999999994.0000 -999999994.0000 6.0000 6.0000 Yes -999999994.0000 -999999994.0000 6.0000 6.0000
result:
wrong answer We have 0 point(s) in query 0