QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#766277 | #692. Delete the Points | pan_g | WA | 3ms | 3952kb | C++20 | 2.6kb | 2024-11-20 16:49:18 | 2024-11-20 16:49:19 |
Judging History
answer
#include <bits/stdc++.h>
#define endl "\n"
typedef long long i64;
typedef double lb;
signed main(){
std::cin.tie(nullptr) -> sync_with_stdio(false);
int n;
std::cin >> n;
std::cout << "Yes" << endl;
std::map<int, std::vector<int> > mp;
for(int i = 0, x, y;i < n;i++){
std::cin >> x >> y;
mp[x].emplace_back(y);
}
int tx = -1, ty = -1;
for(auto &[x, f] : mp){
sort(f.begin(), f.end());
int i = 0, m = f.size();
if(tx == -1){
for(;i + 1 < m;i += 2){
lb l = f[i], r = f[i + 1];
lb y = x - (r - l);
std::cout << y + 0.5 << ' ' << l << ' ' << x + 0.5 << ' ' << r << endl;
}
if(i == m - 1) tx = x, ty = f.back();
}
else{
for(;i + 1 < m && f[i + 1] < ty;i += 2){
lb l = f[i], r = f[i + 1];
lb y = x - (r - l);
std::cout << y + 0.5 << ' ' << l << ' ' << x + 0.5 << ' ' << r << endl;
}
if(i < m && f[i] <= ty){
int delx = x - tx;
int dely = ty - f[i];
if(i == m - 1 || f[i + 1] > ty){
int len = std::max(delx, dely);
std::cout << x - len << ' ' << ty - len << ' ' << x << ' ' << ty << endl;
tx = ty = -1;
i ++;
}
else{
if(delx > dely){
int l = f[i], r = f[i + 1];
int y = x - (r - l);
std::cout << y << ' ' << l << ' ' << x << ' ' << r << endl;
i += 2;
}
else{
int len = x - tx;
std::cout << x - len << ' ' << ty - len + 0.5 << ' ' << x << ' ' << ty + 0.5 << endl;
tx = ty = -1;
i ++;
}
}
}
if(tx >= 0 && i < m){
int len = std::max(x - tx, f[i] - ty);
std::cout << x - len << ' ' << f[i] - len << ' ' << x << ' ' << f[i] << endl;
tx = ty = -1;
i ++;
}
for(;i + 1 < m;i += 2){
lb l = f[i], r = f[i + 1];
lb y = x - (r - l);
std::cout << y + 0.5 << ' ' << l << ' ' << x + 0.5 << ' ' << r << endl;
}
if(i == m - 1) tx = x, ty = f.back();
}
}
return 0;
}
詳細信息
Test #1:
score: 100
Accepted
time: 0ms
memory: 3624kb
input:
4 1 1 2 2 5 5 6 6
output:
Yes 1 1 2 2 5 5 6 6
result:
ok OK
Test #2:
score: 0
Accepted
time: 0ms
memory: 3592kb
input:
4 0 0 1 2 2 1 4 4
output:
Yes -1 0 1 2 1 1 4 4
result:
ok OK
Test #3:
score: 0
Accepted
time: 0ms
memory: 3820kb
input:
4 1 2 3 2 2 1 2 3
output:
Yes 1 1 2 2 2 2 3 3
result:
ok OK
Test #4:
score: 0
Accepted
time: 0ms
memory: 3616kb
input:
6 12 9 1 5 10 14 20 14 15 4 7 9
output:
Yes 1 3 7 9 7 9 12 14 10 4 20 14
result:
ok OK
Test #5:
score: 0
Accepted
time: 0ms
memory: 3952kb
input:
10 39 72 59 52 23 17 2 31 30 0 25 88 2 36 61 23 4 96 59 76
output:
Yes -2.5 31 2.5 36 -56 17 23 96 -58 0 30 88 39 52 59 72 8 23 61 76
result:
ok OK
Test #6:
score: 0
Accepted
time: 0ms
memory: 3876kb
input:
10 53 95 37 51 84 11 3 39 31 20 37 84 42 27 95 38 6 6 16 19
output:
Yes -27 6 6 39 16 5 31 20 4.5 51 37.5 84 -15 27 53 95 68 11 95 38
result:
ok OK
Test #7:
score: -100
Wrong Answer
time: 3ms
memory: 3840kb
input:
3000 997371332 135791687 997371332 135791686 997371332 135791685 997371333 135791685 997371333 135791687 997371334 135791687 997371333 135791688 997371331 135791686 997371333 135791689 997371334 135791686 997371334 135791689 997371333 135791684 997371332 135791689 997371331 135791685 997371334 13579...
output:
Yes 9.97371e+08 1.35792e+08 9.97371e+08 1.35792e+08 997371303 1.35792e+08 997371304 1.35792e+08 9.97371e+08 1.35792e+08 9.97371e+08 1.35792e+08 9.97371e+08 1.35792e+08 9.97371e+08 1.35792e+08 9.97371e+08 1.35792e+08 9.97371e+08 1.35792e+08 997371304 135791708 997371305 135791709 9.97371e+08 1.35792e...
result:
wrong answer Expected double but found NAN.