QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#536281#8651. Table Tennislfyszy0 453ms199628kbC++142.9kb2024-08-28 22:38:322024-08-28 22:38:32

Judging History

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

  • [2024-08-28 22:38:32]
  • 评测
  • 测评结果:0
  • 用时:453ms
  • 内存:199628kb
  • [2024-08-28 22:38:32]
  • 提交

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%