QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#236597#7517. Flying Ship StoryDawn_SdyWA 212ms3692kbC++141.1kb2023-11-04 08:50:242023-11-04 08:50:25

Judging History

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

  • [2023-11-04 08:50:25]
  • 评测
  • 测评结果:WA
  • 用时:212ms
  • 内存:3692kb
  • [2023-11-04 08:50:24]
  • 提交

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.x == 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";
    }
  }
  return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

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

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: 201ms
memory: 3692kb

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: -100
Wrong Answer
time: 212ms
memory: 3628kb

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:

wrong answer 274th lines differ - expected: '964709133', found: '0'