QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#536281 | #8651. Table Tennis | lfyszy | 0 | 453ms | 199628kb | C++14 | 2.9kb | 2024-08-28 22:38:32 | 2024-08-28 22:38:32 |
Judging History
answer
// problem:
// date:
#include <bits/stdc++.h>
#define int long long
#define chmax(x, y) x = max(x, y)
#define chmin(x, y) x = min(x, y)
#define SP << " " <<
#define fish signed
using namespace std;
const int INF = 0x3f3f3f3f3f3f3f3f;
const int N = 5e3 + 10;
int res[N][N], inq[N];
vector<int> du[N];
queue<int> q;
#define c2(n) ((n) * (n - 1) / 2)
#define c3(n) ((n) * (n - 1) * (n - 2) / 6)
int min_m(int n) {return n & 1 ? n * c2(n / 2) : (n / 2) * c2(n / 2) + (n / 2) * c2(n / 2 - 1);}
void solve()
{
int n, m; cin >> n >> m;
// if(m == 0)
// {
// cout << "Yes\n";
// for(int i = 1; i <= n; i ++)
// for(int j = 1; j < i; j ++)
// cout << 1 << (j == i - 1 ? "\n" : "\0");
// return ;
// }
/*-----*/
for(int i = 1; i <= n; i ++)
for(int j = 1; j <= n; j ++)
res[i][j] = 0;
for(int i = 0; i < n; i ++) inq[i] = 0;
for(int i = 0; i < n; i ++) du[i].clear();
while(q.size()) q.pop();
/*-----*/
m = c3(n) - m;
if(min_m(n) > m || m > c3(n)) {cout << "No\n"; return ;}
int sum = 0, tp = n;
while(tp && min_m(tp - 1) + c2(tp - 1) + sum <= m) sum += c2(tp - 1), tp --;
int k = min_m(tp) + sum;
// cout << tp SP n SP k SP m << "\n";
for(int i = 1; i <= tp; i ++)
{
if(tp & 1)
{
int j = i + 1;
for(int o = 1; o <= tp / 2; o ++)
{
if(j > tp) j = 1;
res[i][j] = 1, j ++;
}
}
else
{
int j = i + 1;
for(int o = 1; o <= tp / 2 - (i > tp / 2); o ++)
{
res[i][j] = 1, j ++;
if(j > tp) j = 1;
}
}
}
for(int i = tp + 1; i <= n; i ++)
for(int j = 1; j < i; j ++) res[i][j] = 1;
for(int i = 1; i <= n; i ++)
{
int d = 0;
for(int j = 1; j <= n; j ++) d += res[i][j];
du[d].push_back(i);
}
for(int d = 0; d < n; d ++)
if(du[d].size() >= 2)
inq[d] = 1, q.push(d);
for(; k < m; k ++)
{
int d = q.front(); q.pop();
inq[d] = 0;
int u = du[d].back(); du[d].pop_back();
int v = du[d].back(); du[d].pop_back();
swap(res[u][v], res[v][u]);
if(res[u][v] == 1) swap(u, v);
du[d - 1].push_back(u);
du[d + 1].push_back(v);
for(int i = d - 1; i <= d + 1; i ++)
if(du[i].size() >= 2)
inq[i] = 1, q.push(i);
}
cout << "Yes\n";
for(int i = 1; i <= n; i ++)
for(int j = 1; j < i; j ++)
cout << res[i][j] << (j == i - 1 ? "\n" : "\0");
}
fish main()
{
// freopen(".in", "r", stdin);
// freopen(".out", "w", stdout);
// ios::sync_with_stdio(0);
// cin.tie(0); cout.tie(0);
int t; cin >> t;
while(t --) solve();
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Subtask #1:
score: 0
Wrong Answer
Test #1:
score: 5
Accepted
time: 7ms
memory: 7932kb
input:
97 3 0 4 0 5 0 6 0 7 0 8 0 9 0 10 0 11 0 12 0 13 0 14 0 15 0 16 0 17 0 18 0 19 0 20 0 21 0 22 0 23 0 24 0 25 0 26 0 27 0 28 0 29 0 30 0 31 0 32 0 33 0 34 0 35 0 36 0 37 0 38 0 39 0 40 0 41 0 42 0 43 0 44 0 45 0 46 0 47 0 48 0 49 0 50 0 51 0 52 0 53 0 54 0 55 0 56 0 57 0 58 0 59 0 60 0 61 0 62 0 63 0...
output:
Yes 1 11 Yes 1 11 111 Yes 1 11 111 1111 Yes 1 11 111 1111 11111 Yes 1 11 111 1111 11111 111111 Yes 1 11 111 1111 11111 111111 1111111 Yes 1 11 111 1111 11111 111111 1111111 11111111 Yes 1 11 111 1111 11111 111111 1111111 11111111 111111111 Yes 1 11 111 1111 11111 111111 1111111 11111111 111111111 11...
result:
ok good job! (97 test cases)
Test #2:
score: 5
Accepted
time: 438ms
memory: 193908kb
input:
5 4839 0 127 0 22 0 7 0 5 0
output:
Yes 1 11 111 1111 11111 111111 1111111 11111111 111111111 1111111111 11111111111 111111111111 1111111111111 11111111111111 111111111111111 1111111111111111 11111111111111111 111111111111111111 1111111111111111111 11111111111111111111 111111111111111111111 1111111111111111111111 111111111111111111111...
result:
ok good job! (5 test cases)
Test #3:
score: 5
Accepted
time: 105ms
memory: 65544kb
input:
11 1191 0 1580 0 199 0 484 0 209 0 1226 0 92 0 5 0 4 0 4 0 6 0
output:
Yes 1 11 111 1111 11111 111111 1111111 11111111 111111111 1111111111 11111111111 111111111111 1111111111111 11111111111111 111111111111111 1111111111111111 11111111111111111 111111111111111111 1111111111111111111 11111111111111111111 111111111111111111111 1111111111111111111111 111111111111111111111...
result:
ok good job! (11 test cases)
Test #4:
score: 5
Accepted
time: 129ms
memory: 74336kb
input:
8 953 0 1747 0 1782 0 213 0 210 0 82 0 10 0 3 0
output:
Yes 1 11 111 1111 11111 111111 1111111 11111111 111111111 1111111111 11111111111 111111111111 1111111111111 11111111111111 111111111111111 1111111111111111 11111111111111111 111111111111111111 1111111111111111111 11111111111111111111 111111111111111111111 1111111111111111111111 111111111111111111111...
result:
ok good job! (8 test cases)
Test #5:
score: 5
Accepted
time: 0ms
memory: 3748kb
input:
1 6 0
output:
Yes 1 11 111 1111 11111
result:
ok good job! (1 test case)
Test #6:
score: 5
Accepted
time: 0ms
memory: 3752kb
input:
1 7 0
output:
Yes 1 11 111 1111 11111 111111
result:
ok good job! (1 test case)
Test #7:
score: 5
Accepted
time: 0ms
memory: 3972kb
input:
1 19 0
output:
Yes 1 11 111 1111 11111 111111 1111111 11111111 111111111 1111111111 11111111111 111111111111 1111111111111 11111111111111 111111111111111 1111111111111111 11111111111111111 111111111111111111
result:
ok good job! (1 test case)
Test #8:
score: 5
Accepted
time: 1ms
memory: 5756kb
input:
1 20 0
output:
Yes 1 11 111 1111 11111 111111 1111111 11111111 111111111 1111111111 11111111111 111111111111 1111111111111 11111111111111 111111111111111 1111111111111111 11111111111111111 111111111111111111 1111111111111111111
result:
ok good job! (1 test case)
Test #9:
score: 5
Accepted
time: 2ms
memory: 10260kb
input:
1 149 0
output:
Yes 1 11 111 1111 11111 111111 1111111 11111111 111111111 1111111111 11111111111 111111111111 1111111111111 11111111111111 111111111111111 1111111111111111 11111111111111111 111111111111111111 1111111111111111111 11111111111111111111 111111111111111111111 1111111111111111111111 111111111111111111111...
result:
ok good job! (1 test case)
Test #10:
score: 5
Accepted
time: 0ms
memory: 9844kb
input:
1 150 0
output:
Yes 1 11 111 1111 11111 111111 1111111 11111111 111111111 1111111111 11111111111 111111111111 1111111111111 11111111111111 111111111111111 1111111111111111 11111111111111111 111111111111111111 1111111111111111111 11111111111111111111 111111111111111111111 1111111111111111111111 111111111111111111111...
result:
ok good job! (1 test case)
Test #11:
score: 5
Accepted
time: 7ms
memory: 28304kb
input:
1 599 0
output:
Yes 1 11 111 1111 11111 111111 1111111 11111111 111111111 1111111111 11111111111 111111111111 1111111111111 11111111111111 111111111111111 1111111111111111 11111111111111111 111111111111111111 1111111111111111111 11111111111111111111 111111111111111111111 1111111111111111111111 111111111111111111111...
result:
ok good job! (1 test case)
Test #12:
score: 5
Accepted
time: 8ms
memory: 28712kb
input:
1 600 0
output:
Yes 1 11 111 1111 11111 111111 1111111 11111111 111111111 1111111111 11111111111 111111111111 1111111111111 11111111111111 111111111111111 1111111111111111 11111111111111111 111111111111111111 1111111111111111111 11111111111111111111 111111111111111111111 1111111111111111111111 111111111111111111111...
result:
ok good job! (1 test case)
Test #13:
score: 5
Accepted
time: 444ms
memory: 199624kb
input:
1 4999 0
output:
Yes 1 11 111 1111 11111 111111 1111111 11111111 111111111 1111111111 11111111111 111111111111 1111111111111 11111111111111 111111111111111 1111111111111111 11111111111111111 111111111111111111 1111111111111111111 11111111111111111111 111111111111111111111 1111111111111111111111 111111111111111111111...
result:
ok good job! (1 test case)
Test #14:
score: 5
Accepted
time: 453ms
memory: 199628kb
input:
1 5000 0
output:
Yes 1 11 111 1111 11111 111111 1111111 11111111 111111111 1111111111 11111111111 111111111111 1111111111111 11111111111111 111111111111111 1111111111111111 11111111111111111 111111111111111111 1111111111111111111 11111111111111111111 111111111111111111111 1111111111111111111111 111111111111111111111...
result:
ok good job! (1 test case)
Test #15:
score: 0
Wrong Answer
time: 0ms
memory: 3828kb
input:
291 3 0 3 1 4 0 4 1 4 2 5 0 5 1 5 2 5 3 6 0 6 1 6 2 6 3 6 4 7 0 7 1 7 2 7 3 7 4 7 5 8 0 8 1 8 2 8 3 8 4 8 5 8 6 9 0 9 1 9 2 9 3 9 4 9 5 9 6 9 7 10 0 10 1 10 2 10 3 10 4 10 5 10 6 10 7 10 8 11 0 11 1 11 2 11 3 11 4 11 5 11 6 11 7 11 8 11 9 12 0 12 1 12 2 12 3 12 4 12 5 12 6 12 7 12 8 12 9 12 10 13 0 ...
output:
Yes 1 11 Yes 0 10 Yes 1 11 111 Yes 0 10 111 Yes 0 00 000 Yes 1 11 111 1111 Yes 0 10 111 1111 Yes 0 00 000 1111 Yes 0 01 100 1101 Yes 1 11 111 1111 11111 Yes 0 10 111 1111 11111 Yes 0 00 000 1111 11111 Yes 0 01 100 1101 11111 Yes 0 00 100 1101 11111 Yes 1 11 111 1111 11111 111111 Yes 0 10 111 1111 11...
result:
wrong answer expected 2 ways, but found 0 ways (test case 5)
Subtask #2:
score: 0
Wrong Answer
Test #58:
score: 4
Accepted
time: 0ms
memory: 3744kb
input:
1 4 4
output:
No
result:
ok good job! (1 test case)
Test #59:
score: 4
Accepted
time: 0ms
memory: 3684kb
input:
1 5 10
output:
No
result:
ok good job! (1 test case)
Test #60:
score: 4
Accepted
time: 0ms
memory: 3688kb
input:
1 6 20
output:
No
result:
ok good job! (1 test case)
Test #61:
score: 4
Accepted
time: 1ms
memory: 5800kb
input:
1 7 35
output:
No
result:
ok good job! (1 test case)
Test #62:
score: 4
Accepted
time: 0ms
memory: 3940kb
input:
1 5 10
output:
No
result:
ok good job! (1 test case)
Test #63:
score: 4
Accepted
time: 0ms
memory: 3748kb
input:
1 6 19
output:
No
result:
ok good job! (1 test case)
Test #64:
score: 4
Accepted
time: 1ms
memory: 5888kb
input:
1 6 20
output:
No
result:
ok good job! (1 test case)
Test #65:
score: 4
Accepted
time: 1ms
memory: 5732kb
input:
1 7 33
output:
No
result:
ok good job! (1 test case)
Test #66:
score: 4
Accepted
time: 0ms
memory: 3640kb
input:
1 7 33
output:
No
result:
ok good job! (1 test case)
Test #67:
score: 4
Accepted
time: 0ms
memory: 3776kb
input:
1 4 3
output:
No
result:
ok good job! (1 test case)
Test #68:
score: 4
Accepted
time: 0ms
memory: 3680kb
input:
1 5 8
output:
No
result:
ok good job! (1 test case)
Test #69:
score: 4
Accepted
time: 0ms
memory: 3684kb
input:
1 6 17
output:
No
result:
ok good job! (1 test case)
Test #70:
score: 4
Accepted
time: 0ms
memory: 3752kb
input:
1 7 30
output:
No
result:
ok good job! (1 test case)
Test #71:
score: 4
Accepted
time: 0ms
memory: 3732kb
input:
2 3 0 3 1
output:
Yes 1 11 Yes 0 10
result:
ok good job! (2 test cases)
Test #72:
score: 4
Accepted
time: 0ms
memory: 3904kb
input:
2 3 0 3 1
output:
Yes 1 11 Yes 0 10
result:
ok good job! (2 test cases)
Test #73:
score: 0
Wrong Answer
time: 0ms
memory: 3972kb
input:
1 4 2
output:
Yes 0 00 000
result:
wrong answer expected 2 ways, but found 0 ways (test case 1)
Subtask #3:
score: 0
Skipped
Dependency #2:
0%
Subtask #4:
score: 0
Skipped
Dependency #3:
0%
Subtask #5:
score: 0
Skipped
Dependency #4:
0%
Subtask #6:
score: 0
Skipped
Dependency #1:
0%