QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#211961 | #2174. Which Planet is This?! | So_Stuffy | WA | 2608ms | 157308kb | C++20 | 3.0kb | 2023-10-13 01:57:24 | 2023-10-13 01:57:24 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
map < long long, long long > mp_N;
map < long long, set < long long > > mp1_N, mp2_N;
long double x, y;
long long n, a_N, b_N, prv_N, i, px_N;
long long md(long long a){
return (long long)(a < 0 ? a + 360 * 1e4 : a) % (long long)(360 * 1e4);
}
int main(){
cin >> n;
for (i = 1; i <= n; i++){
cin >> x >> y;
y += 360;
x *= 1e4;
y *= 1e4;
a_N = x + 0.5;
b_N = y + 0.5;
mp1_N[md(a_N)].insert(md(b_N));
}
for (i = 1; i <= n; i++){
cin >> x >> y;
y += 360;
x *= 1e4;
y *= 1e4;
a_N = x + 0.5;
b_N = y + 0.5;
mp2_N[md(a_N)].insert(md(b_N));
}
px_N = -1e10;
for (auto r : mp1_N){
if (mp2_N[r.first].size() != r.second.size()){
cout << "Different\n";
return 0;
}
prv_N = -1e10;
for (auto x : r.second){
if (prv_N != -1e10){
mp_N[md(x - prv_N)]++;
}
prv_N = x;
}
mp_N[md(*r.second.begin() - *r.second.rbegin())]++;
prv_N = -1e10;
for (auto x : mp2_N[r.first]){
if (prv_N != -1e10){
mp_N[md(x - prv_N)]--;
if (mp_N[md(x - prv_N)] < 0){
cout << "Different1\n";
return 0;
}
}
prv_N = x;
}
mp_N[md(*mp2_N[r.first].begin() - *mp2_N[r.first].rbegin())]--;
if (mp_N[md(*mp2_N[r.first].begin() - *mp2_N[r.first].rbegin())] < 0){
cout << "Different1\n";
return 0;
}
if (px_N != -1e10){
for (auto x : mp1_N[r.first]){
auto it = mp1_N[px_N].lower_bound(x);
if (it == mp1_N[px_N].end()) it = mp1_N[px_N].begin();
mp_N[md(x - *it)]++;
}
for (auto x : mp2_N[r.first]){
auto it = mp2_N[px_N].lower_bound(x);
if (it == mp2_N[px_N].end()) it = mp2_N[px_N].begin();
mp_N[md(x - *it)]--;
if (mp_N[md(x - *it)] < 0){
cout << "Different\n";
return 0;
}
}
for (auto x : mp1_N[px_N]){
auto it = mp1_N[r.first].lower_bound(x);
if (it == mp1_N[r.first].end()) it = mp1_N[r.first].begin();
mp_N[md(x - *it)]++;
}
for (auto x : mp2_N[px_N]){
auto it = mp2_N[r.first].lower_bound(x);
if (it == mp2_N[r.first].end()) it = mp2_N[r.first].begin();
mp_N[md(x - *it)]--;
if (mp_N[md(x - *it)] < 0){
cout << "Different\n";
return 0;
}
}
}
px_N = r.first;
}
cout << "Same\n";
}
详细
Test #1:
score: 100
Accepted
time: 0ms
memory: 3940kb
input:
3 10 0 20 40 30 -15 40 -15 20 0 30 40
output:
Different
result:
ok single line: 'Different'
Test #2:
score: 0
Accepted
time: 831ms
memory: 54632kb
input:
359998 -0.0045 96.8638 -0.0045 -79.2284 -0.0045 -50.4113 -0.0045 -79.0394 -0.0045 -24.9710 -0.0045 -142.9880 -0.0045 50.6344 -0.0045 125.9464 -0.0045 -17.3039 -0.0045 42.3454 -0.0045 130.6138 -0.0045 -106.4363 -0.0045 -95.9378 -0.0045 90.7312 -0.0045 75.7615 -0.0045 -66.9785 -0.0045 -81.0752 -0.0045...
output:
Same
result:
ok single line: 'Same'
Test #3:
score: 0
Accepted
time: 777ms
memory: 46020kb
input:
299998 -0.0045 -42.0335 -0.0045 -106.8631 -0.0045 176.8211 -0.0045 100.6703 -0.0045 168.0453 -0.0045 -100.7977 -0.0045 -31.7881 -0.0045 -43.3799 -0.0045 -87.3392 -0.0045 30.4474 -0.0045 -7.4550 -0.0045 106.5476 -0.0045 -3.9185 -0.0045 -56.8153 -0.0045 -146.7755 -0.0045 -76.6043 -0.0045 57.1774 -0.00...
output:
Same
result:
ok single line: 'Same'
Test #4:
score: 0
Accepted
time: 2608ms
memory: 145644kb
input:
400000 -57.6217 51.8207 -66.4301 79.8153 68.6538 169.5723 -48.0781 -6.6298 -6.7822 -17.1276 -39.4009 179.3474 63.3867 -77.7996 61.0296 23.9060 -45.3758 41.1641 70.4582 129.4273 -29.7325 -35.5175 -15.3621 31.2737 -23.1798 102.5020 80.7571 -132.1432 -48.3888 -6.5756 18.4703 135.7623 -0.8199 -65.5536 -...
output:
Same
result:
ok single line: 'Same'
Test #5:
score: 0
Accepted
time: 2578ms
memory: 157308kb
input:
400000 68.6612 125.2502 -34.0056 -176.1203 5.5683 107.6629 -69.2218 30.3923 -17.2214 70.1128 56.9568 -148.7878 -23.9078 -171.1107 -65.9309 -18.4715 12.6709 95.8959 -66.6852 142.6653 -26.4513 106.4433 -79.1698 -119.5633 66.7118 128.2842 -16.2637 139.1541 79.5323 15.2026 70.8686 19.2645 -73.8376 114.2...
output:
Same
result:
ok single line: 'Same'
Test #6:
score: -100
Wrong Answer
time: 1ms
memory: 3944kb
input:
18 2 0 2 1 3 2 6 -118 2 5 2 120 2 121 2 -119 4 122 5 123 4 3 2 4 2 124 2 125 2 -120 7 -117 2 -116 2 -115 2 0 2 1 2 121 6 122 3 2 2 120 7 123 4 3 2 4 2 124 4 -118 2 125 2 -120 2 -119 5 -117 2 5 2 -116 2 -115
output:
Different1
result:
wrong answer 1st lines differ - expected: 'Different', found: 'Different1'