QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#305759#6668. TrokutiHuasushis0 17ms3752kbC++142.8kb2024-01-15 23:27:462024-01-15 23:27:46

Judging History

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

  • [2024-01-15 23:27:46]
  • 评测
  • 测评结果:0
  • 用时:17ms
  • 内存:3752kb
  • [2024-01-15 23:27:46]
  • 提交

answer

#include <bits/stdc++.h>
using namespace std;
const int n = 100;
int a[110][110];
int fc[15];
int tmp[6][6], tot;
int fa[210];
int getfa(int v) {
  return v == fa[v] ? v : fa[v] = getfa(fa[v]);
}
int main() {
  ios::sync_with_stdio(false);
  for (int i = 1; i <= 5; ++i) {
    for (int j = i + 1; j <= 5; ++j) {
      tmp[i][j] = ++tot;
    }
  }
  tot = 0;
  for (int i = 1; i <= 5; ++i) {
    for (int j = i + 1; j <= 5; ++j) {
      for (int k = j + 1; k <= 5; ++k) {
        ++tot;
        cout << "? " << i << ' ' << j << ' ' << k << endl;
        int bs = 0;
        cin >> bs;
        fc[tot] = bs;
      }
    }
  }
  for (int mj = 0; mj < (1 << 10); ++mj) {
    int ls[11];
    for (int j = 1; j <= 10; ++j) ls[j] = (mj >> (j - 1)) & 1;
    tot = 0;
    for (int i = 1; i <= 5; ++i) {
      for (int j = i + 1; j <= 5; ++j) {
        for (int k = j + 1; k <= 5; ++k) {
          ++tot;
          if (ls[tmp[i][j]] + ls[tmp[i][k]] + ls[tmp[j][k]] != fc[tot]) goto nxt;
        }
      }
    }
    for (int i = 1; i <= 5; ++i) {
      for (int j = i + 1; j <= 5; ++j) {
        a[i][j] = ls[tmp[i][j]];
        a[j][i] = a[i][j];
      }
    }
    break;
    nxt:;
  }
  for (int i = 6; i <= n; ++i) {
    const int li = i, yi = i + i;
    int ltk = i - 1;
    static mt19937 mt(19260817 ^ 19491001);
    iota(fa + 1, fa + i * 2 + 1, 1);
    while (ltk) {
      int u = mt() % (i - 1) + 1, v = mt() % (i - 1) + 1;
      if (getfa(u) == getfa(v) || getfa(u) == getfa(v + i)) continue;
      if (ltk > 1) {
        if (getfa(u) == getfa(li)) continue;
        if (getfa(u) == getfa(yi)) continue;
        if (getfa(v) == getfa(li)) continue;
        if (getfa(v) == getfa(yi)) continue;
      }
      cout << "? " << i << ' ' << u << ' ' << v << endl;
      int bs = 0;
      cin >> bs;
      bs -= a[u][v];
      switch (bs) {
        case 0: {
          if (getfa(u) == getfa(li) || getfa(v) == getfa(li)) ++ltk;
          fa[getfa(u)] = fa[getfa(v)] = getfa(li);
          fa[getfa(u + i)] = fa[getfa(v + i)] = getfa(yi);
          ltk -= 2;
          break;
        }
        case 1: {
          fa[getfa(u)] = getfa(v + i);
          fa[getfa(v)] = getfa(u + i);
          --ltk;
          break;
        }
        case 2: {
          if (getfa(u) == getfa(yi) || getfa(v) == getfa(yi)) ++ltk;
          fa[getfa(u)] = fa[getfa(v)] = getfa(yi);
          fa[getfa(u + i)] = fa[getfa(v + i)] = getfa(li);
          ltk -= 2;
          break;
        }
      }
    }
    for (int j = 1; j < i; ++j) {
      a[i][j] = a[j][i] = getfa(j) == getfa(yi);
    }
  }
  cout << "!" << endl;
  for (int i = 1; i <= n; ++i) {
    for (int j = 1; j <= n; ++j) {
      cout << a[i][j];
    }
    cout << endl;
  }
  return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Subtask #1:

score: 0
Time Limit Exceeded

Test #1:

score: 100
Accepted
time: 17ms
memory: 3744kb

input:

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
...

output:

? 1 2 3
? 1 2 4
? 1 2 5
? 1 3 4
? 1 3 5
? 1 4 5
? 2 3 4
? 2 3 5
? 2 4 5
? 3 4 5
? 6 2 1
? 6 5 4
? 6 5 3
? 7 1 6
? 7 2 3
? 7 5 4
? 8 7 5
? 8 6 3
? 8 2 4
? 8 5 1
? 9 4 8
? 9 2 7
? 9 3 1
? 9 6 5
? 10 8 6
? 10 7 5
? 10 2 3
? 10 1 4
? 10 8 9
? 11 9 10
? 11 5 2
? 11 4 8
? 11 6 3
? 11 7 1
? 12 6 5
? 12 10 ...

result:

points 1.0 points  1.0 correct 2504 queries

Test #2:

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

input:

3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
...

output:

? 1 2 3
? 1 2 4
? 1 2 5
? 1 3 4
? 1 3 5
? 1 4 5
? 2 3 4
? 2 3 5
? 2 4 5
? 3 4 5
? 6 2 1
? 6 5 4
? 6 5 3
? 7 1 6
? 7 2 3
? 7 5 4
? 8 7 5
? 8 6 3
? 8 2 4
? 8 5 1
? 9 4 8
? 9 2 7
? 9 3 1
? 9 6 5
? 10 8 6
? 10 7 5
? 10 2 3
? 10 1 4
? 10 8 9
? 11 9 10
? 11 5 2
? 11 4 8
? 11 6 3
? 11 7 1
? 12 6 5
? 12 10 ...

result:

points 1.0 points  1.0 correct 2504 queries

Test #3:

score: 100
Accepted
time: 15ms
memory: 3732kb

input:

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
...

output:

? 1 2 3
? 1 2 4
? 1 2 5
? 1 3 4
? 1 3 5
? 1 4 5
? 2 3 4
? 2 3 5
? 2 4 5
? 3 4 5
? 6 2 1
? 6 5 4
? 6 5 3
? 7 1 6
? 7 2 3
? 7 5 4
? 8 7 5
? 8 6 3
? 8 2 4
? 8 5 1
? 9 4 8
? 9 2 7
? 9 3 1
? 9 6 5
? 10 8 6
? 10 7 5
? 10 2 3
? 10 1 4
? 10 8 9
? 11 9 10
? 11 5 2
? 11 4 8
? 11 6 3
? 11 7 1
? 12 6 5
? 12 10 ...

result:

points 1.0 points  1.0 correct 2505 queries

Test #4:

score: 100
Accepted
time: 6ms
memory: 3684kb

input:

3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
...

output:

? 1 2 3
? 1 2 4
? 1 2 5
? 1 3 4
? 1 3 5
? 1 4 5
? 2 3 4
? 2 3 5
? 2 4 5
? 3 4 5
? 6 2 1
? 6 5 4
? 6 5 3
? 7 1 6
? 7 2 3
? 7 5 4
? 8 7 5
? 8 6 3
? 8 2 4
? 8 5 1
? 9 4 8
? 9 2 7
? 9 3 1
? 9 6 5
? 10 8 6
? 10 7 5
? 10 2 3
? 10 1 4
? 10 8 9
? 11 9 10
? 11 5 2
? 11 4 8
? 11 6 3
? 11 7 1
? 12 6 5
? 12 10 ...

result:

points 1.0 points  1.0 correct 2504 queries

Test #5:

score: 100
Accepted
time: 3ms
memory: 3752kb

input:

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
...

output:

? 1 2 3
? 1 2 4
? 1 2 5
? 1 3 4
? 1 3 5
? 1 4 5
? 2 3 4
? 2 3 5
? 2 4 5
? 3 4 5
? 6 2 1
? 6 5 4
? 6 5 3
? 7 1 6
? 7 2 3
? 7 5 4
? 8 7 5
? 8 6 3
? 8 2 4
? 8 5 1
? 9 4 8
? 9 2 7
? 9 3 1
? 9 6 5
? 10 8 6
? 10 7 5
? 10 2 3
? 10 1 4
? 10 8 9
? 11 9 10
? 11 5 2
? 11 4 8
? 11 6 3
? 11 7 1
? 12 6 5
? 12 10 ...

result:

points 1.0 points  1.0 correct 2516 queries

Test #6:

score: 100
Accepted
time: 4ms
memory: 3752kb

input:

3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
2
2
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
...

output:

? 1 2 3
? 1 2 4
? 1 2 5
? 1 3 4
? 1 3 5
? 1 4 5
? 2 3 4
? 2 3 5
? 2 4 5
? 3 4 5
? 6 2 1
? 6 5 4
? 6 5 3
? 7 1 6
? 7 2 3
? 7 5 4
? 8 7 5
? 8 6 3
? 8 2 4
? 8 5 1
? 9 4 8
? 9 2 7
? 9 3 1
? 9 6 5
? 10 8 6
? 10 7 5
? 10 2 3
? 10 1 4
? 10 8 9
? 11 9 10
? 11 5 2
? 11 4 8
? 11 6 3
? 11 7 1
? 12 6 5
? 12 10 ...

result:

points 1.0 points  1.0 correct 2511 queries

Test #7:

score: 100
Accepted
time: 3ms
memory: 3596kb

input:

0
0
1
0
1
1
0
0
0
0
0
0
1
1
0
0
1
1
1
2
2
3
1
0
1
1
2
0
2
1
1
1
0
1
0
1
0
1
1
2
2
2
1
0
1
2
0
0
2
1
0
0
2
0
0
1
0
1
1
0
0
0
2
1
0
0
1
1
2
1
2
2
0
2
1
0
1
2
2
0
1
1
1
1
1
2
0
0
0
0
0
0
1
1
0
2
1
0
0
0
0
1
1
0
0
1
2
1
0
1
3
1
2
0
0
1
1
1
0
0
1
0
1
0
1
0
1
0
0
0
3
0
2
2
1
1
2
0
1
1
2
0
2
0
1
0
0
0
0
1
...

output:

? 1 2 3
? 1 2 4
? 1 2 5
? 1 3 4
? 1 3 5
? 1 4 5
? 2 3 4
? 2 3 5
? 2 4 5
? 3 4 5
? 6 2 1
? 6 5 4
? 6 5 3
? 7 1 6
? 7 6 4
? 7 2 3
? 7 5 2
? 8 3 6
? 8 5 4
? 8 7 1
? 8 1 2
? 8 1 5
? 9 7 1
? 9 8 3
? 9 6 4
? 9 2 4
? 9 2 5
? 10 5 6
? 10 1 7
? 10 9 8
? 10 3 1
? 10 2 8
? 10 3 4
? 11 9 10
? 11 1 2
? 11 4 7
? ...

result:

points 1.0 points  1.0 correct 3125 queries

Test #8:

score: 100
Accepted
time: 11ms
memory: 3692kb

input:

3
1
2
1
2
1
1
1
0
0
1
0
0
1
2
2
0
0
0
1
1
2
1
1
1
1
2
2
0
0
1
0
2
3
0
1
3
1
2
1
0
1
2
0
0
1
0
0
2
1
1
2
1
1
2
1
0
1
0
1
1
0
0
2
1
1
0
1
0
1
3
0
2
0
0
3
2
1
1
0
1
1
1
1
2
0
1
1
0
1
0
2
0
1
1
1
2
3
0
0
2
2
2
0
1
1
2
2
0
3
2
0
2
0
3
0
0
1
1
2
1
3
0
1
2
1
0
1
1
1
1
0
2
2
1
1
2
1
2
2
1
2
0
1
2
2
1
3
2
1
...

output:

? 1 2 3
? 1 2 4
? 1 2 5
? 1 3 4
? 1 3 5
? 1 4 5
? 2 3 4
? 2 3 5
? 2 4 5
? 3 4 5
? 6 2 1
? 6 5 4
? 6 5 3
? 7 1 6
? 7 6 4
? 7 2 3
? 7 5 2
? 8 3 6
? 8 5 4
? 8 7 1
? 8 1 2
? 9 3 7
? 9 3 8
? 9 6 1
? 9 7 1
? 9 2 8
? 9 6 4
? 9 5 1
? 10 2 8
? 10 7 1
? 10 9 4
? 10 3 5
? 10 6 7
? 11 1 5
? 11 10 8
? 11 6 2
? 1...

result:

points 1.0 points  1.0 correct 3253 queries

Test #9:

score: 100
Accepted
time: 15ms
memory: 3748kb

input:

2
2
2
3
3
2
1
1
0
2
2
1
1
3
2
0
1
1
0
2
1
0
3
3
3
3
0
1
1
2
3
1
3
1
0
2
2
3
3
2
2
0
3
2
1
0
0
2
0
0
1
2
0
3
3
1
0
0
0
1
3
3
1
1
2
2
1
3
1
3
0
0
2
0
3
3
2
0
3
0
0
1
1
0
0
2
2
0
1
3
3
3
0
2
2
2
2
1
1
2
1
2
3
0
2
3
2
2
0
1
1
0
1
1
3
3
0
2
2
3
1
2
3
1
2
1
1
1
1
0
1
1
2
0
3
2
1
3
2
2
2
2
0
2
2
2
1
0
3
1
...

output:

? 1 2 3
? 1 2 4
? 1 2 5
? 1 3 4
? 1 3 5
? 1 4 5
? 2 3 4
? 2 3 5
? 2 4 5
? 3 4 5
? 6 2 1
? 6 2 5
? 6 5 4
? 6 5 3
? 7 1 6
? 7 6 4
? 7 2 3
? 7 5 2
? 7 2 6
? 8 1 6
? 8 5 4
? 8 6 2
? 8 3 7
? 8 1 5
? 9 7 1
? 9 8 3
? 9 6 4
? 9 2 5
? 9 8 2
? 10 9 8
? 10 3 1
? 10 2 8
? 10 7 8
? 10 4 5
? 10 6 4
? 11 5 9
? 11 ...

result:

points 1.0 points  1.0 correct 3353 queries

Test #10:

score: 100
Accepted
time: 3ms
memory: 3592kb

input:

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
...

output:

? 1 2 3
? 1 2 4
? 1 2 5
? 1 3 4
? 1 3 5
? 1 4 5
? 2 3 4
? 2 3 5
? 2 4 5
? 3 4 5
? 6 2 1
? 6 5 4
? 6 5 3
? 7 1 6
? 7 2 3
? 7 5 4
? 8 7 5
? 8 6 3
? 8 2 4
? 8 5 1
? 9 4 8
? 9 2 7
? 9 3 1
? 9 6 5
? 10 8 6
? 10 7 5
? 10 2 3
? 10 1 4
? 10 8 9
? 11 9 10
? 11 5 2
? 11 4 8
? 11 6 3
? 11 7 1
? 12 6 5
? 12 10 ...

result:

points 1.0 points  1.0 correct 3017 queries

Test #11:

score: 0
Time Limit Exceeded

input:

2
1
1
1
1
0
2
2
0
2
2
0
2
1
1
1
1
2
1

output:

? 1 2 3
? 1 2 4
? 1 2 5
? 1 3 4
? 1 3 5
? 1 4 5
? 2 3 4
? 2 3 5
? 2 4 5
? 3 4 5
? 6 2 1
? 6 2 5
? 6 3 4
? 6 4 5
? 7 6 5
? 7 4 2
? 7 6 3
? 7 6 4
? 7 3 1

result: