QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#236614#7517. Flying Ship StoryDawn_SdyWA 222ms3716kbC++141.2kb2023-11-04 09:04:072023-11-04 09:04:07

Judging History

你现在查看的是最新测评结果

  • [2023-11-04 09:04:07]
  • 评测
  • 测评结果:WA
  • 用时:222ms
  • 内存:3716kb
  • [2023-11-04 09:04:07]
  • 提交

answer

#include<iostream>
#include<algorithm>

using namespace std;

long long n, op, x, y, w, cnt, ans;

struct V{
  int x, y, w;
} a[10], z;

bool check(V x, V y, V z){
  return (x.x == y.x && y.x == z.x) || (x.y == y.y && y.y == z.y);
}

bool cmp(V x, V y){
  return x.w > y.w;
}

int Ask(int x, int y){
  for(int i = 1; i <= cnt; i++){
    if(a[i].x != x && a[i].y != y) return a[i].w;
  }
  return 0;
}

void Upd(){
  sort(a + 1, a + cnt + 1, cmp);
  for(int i = 2; i <= cnt; i++){
    for(int j = 1; j < i; j++) if(a[i].x == a[j].x && a[i].y == a[j].y) a[i] = z;
    if(i >= 3 && check(a[1], a[2], a[i])) a[i] = z;
    if(i >= 4 && (check(a[2], a[3], a[i]) || check(a[1], a[3], a[i]))) a[i] = z;
  }
  sort(a + 1, a + cnt + 1, cmp);
  if(cnt > 4) cnt = 4;
}

int main(){
  ios::sync_with_stdio(0);
  cin.tie(0), cout.tie(0);
  cin >> n;
  for(int i = 1; i <= n; i++){
    cin >> op >> x >> y;
    x ^= ans, y ^= ans;
    if(op == 1){
      cin >> w;
      w ^= ans;
      a[++cnt].x = x, a[cnt].y = y, a[cnt].w = w;
      Upd();
    } else {
      ans = Ask(x, y);
      cout << ans << "\n";
    }
      if(ans == 440) cout << op << " " << x << " " << y << " " << w << " " << "\n";
  }
  return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 0ms
memory: 3584kb

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: 210ms
memory: 3576kb

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: 222ms
memory: 3716kb

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: 220ms
memory: 3628kb

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
2 441939805 49826763 11992 
1 441939805 597319188 7100 
440
2 441939805 49826763 7100 
1 205119746 49826763 3082 
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
64...

result:

wrong answer 8th lines differ - expected: '440', found: '2 441939805 49826763 11992 '