QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#287307 | #7517. Flying Ship Story | ship2077 | WA | 112ms | 3860kb | C++14 | 1.1kb | 2023-12-20 10:56:06 | 2023-12-20 10:56:07 |
Judging History
answer
#include<bits/stdc++.h>
using namespace std;
struct node{int x,y,v;};
vector<node>vec;
int x,y,op,T,lastans;
int read(){
int x=0,f=1;char ch=getchar();
while (!isdigit(ch)) {if (ch=='-') f=-1;ch=getchar();}
while (isdigit(ch)) x=x*10+ch-48,ch=getchar();
return x*f;
}
void insert(int x,int y,int v){
bool fl=0;
for (int i=0;!fl&&i<vec.size();i++)
if (v>vec[i].v) fl=1,
vec.insert(vec.begin()+i,{x,y,v});
if (!fl) vec.push_back({x,y,v});
for (int i=0;i<vec.size();i++)
for (int j=0;j<i;j++)
if (vec[j].x==vec[i].x&&vec[j].y==vec[i].y)
return vec.erase(vec.begin()+i),void();
for (int i=0;i<vec.size();i++){
int cnt0=0,cnt1=0;
for (int j=0;j<i;j++)
cnt0+=vec[i].x==vec[j].x,cnt1+=vec[i].y==vec[j].y;
if (cnt0>1||cnt1>1) return vec.erase(vec.begin()+i),void();
}
if (vec.size()>4) vec.pop_back();
}
int query(int x,int y){
for (int i=0;i<vec.size();i++)
if (vec[i].x^x&&vec[i].y^y)
return vec[i].v;
return 0;
}
int main(){
T=read();while (T--){
op=read();x=read()^lastans;y=read()^lastans;
if (op==1) insert(x,y,read()^lastans);
else printf("%d\n",lastans=query(x,y));
}
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 1ms
memory: 3796kb
input:
5 1 2 3 1 1 4 5 2 2 2 2 2 3 7 2 3 4
output:
2 1 0
result:
ok 3 lines
Test #2:
score: 0
Accepted
time: 82ms
memory: 3628kb
input:
1000000 2 370943499 431961772 1 1 1 11995570 2 37566858 838793045 1 11995571 11995569 908148975 2 11995571 11995571 1 1 3 716821068 2 67877937 3 1 11995571 11995571 771898489 2 38381714 99749723 1 915818844 915818847 729541681 2 592361351 915818846 1 783627722 783627722 639375021 2 102203700 8636489...
output:
0 11995570 0 11995570 915818845 783627723 915818845 0 0 915818845 0 783627723 0 904468304 904468304 904468304 915818845 904468304 915818845 904468304 915818845 0 904468304 0 915818845 915818845 0 0 915818845 915818845 0 921710773 0 921710773 998138906 921710773 0 921710773 998138906 0 998138906 0 99...
result:
ok 500000 lines
Test #3:
score: 0
Accepted
time: 112ms
memory: 3860kb
input:
1000000 2 648544745 437316088 1 1 1 221075686 2 802693951 691188141 1 221075687 221075684 1036811136 2 771835961 178451319 1 820061031 820061031 560017372 2 829408420 820061028 1 293604539 293604539 699366423 2 293604539 293604539 1 1 2 610044241 2 50747012 885321059 1 942633132 942633132 603537610 ...
output:
0 221075686 820061030 293604538 0 942633133 942633133 27478144 820061030 820061030 900696946 27478144 942633133 942633133 0 772167494 27478144 891145650 900696946 772167494 891145650 918281274 772167494 772167494 772167494 772167494 772167494 942633133 918281274 891145650 918281274 891145650 8911456...
result:
ok 500000 lines
Test #4:
score: -100
Wrong Answer
time: 100ms
memory: 3808kb
input:
1000000 2 488777832 43440411 1 441939805 62137297 1349 2 198318033 382339804 1 441938456 72190649 815 2 458351680 72190649 1 441938456 287971850 290 2 161496970 653240491 1 933968337 49827233 1142 2 441938231 49827233 1 623590902 306969890 440 2 441939805 144230480 1 441939265 480404387 11460 2 4419...
output:
0 1349 1349 1642 0 540 440 440 0 11992 9275 11992 12896 12896 14599 14599 12896 14599 14599 14599 14599 14599 33262 61836 61836 61836 61836 64661 61836 61836 64661 64661 64661 64661 64661 64661 62146 64661 62146 64661 64661 64661 64661 64661 64661 64661 64661 64661 64661 64661 64661 64661 64661 6466...
result:
wrong answer 9th lines differ - expected: '440', found: '0'