QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#305758 | #6668. Trokuti | Huasushis | 0 | 17ms | 3776kb | C++14 | 2.8kb | 2024-01-15 23:25:26 | 2024-01-15 23:25:26 |
Judging History
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:;
if (mj + 1 == (1 << 10)) exit(114);
}
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)) 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 <= 100; ++i) {
for (int j = 1; j <= 100; ++j) {
cout << a[i][j];
}
cout << endl;
}
return 0;
}
详细
Subtask #1:
score: 0
Wrong Answer
Test #1:
score: 100
Accepted
time: 17ms
memory: 3688kb
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: 13ms
memory: 3700kb
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: 4ms
memory: 3776kb
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 2506 queries
Test #4:
score: 100
Accepted
time: 0ms
memory: 3676kb
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: 6ms
memory: 3664kb
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 0 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 2514 queries
Test #6:
score: 0
Wrong Answer
time: 4ms
memory: 3628kb
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:
wrong answer the graph you report is incorrect