QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#180252#6309. Aqreucup-team045#AC ✓357ms4764kbC++204.2kb2023-09-15 17:17:252023-09-15 17:17:26

Judging History

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

  • [2023-09-15 17:17:26]
  • 评测
  • 测评结果:AC
  • 用时:357ms
  • 内存:4764kb
  • [2023-09-15 17:17:25]
  • 提交

answer

#include<iostream>
#include<cstring>
#include<vector>
#include<queue>
#include<array>
#include<cassert>
using namespace std;
using LL = long long;

int main(){

#ifdef LOCAL
    freopen("data.in", "r", stdin);
    freopen("data.out", "w", stdout);
#endif

    cin.tie(0);
    cout.tie(0);
    ios::sync_with_stdio(0);

    int T;
    cin >> T;
    while(T--){
        int n, m;
        cin >> n >> m;
        if (n <= 3 && m <= 3){
            cout << n * m << '\n';
            for(int i = 0; i < n; i++)
                cout << string(m, '1') << '\n';
            continue;
        }
        if (n == 3){
            vector<string> g(n, string(m, '1'));
            int ans = n * m;
            for(int i = 3; i < m; i += 4){
                g[0][i] = g[1][i] = '0';
                ans -= 2;
            }
            for(int i = 1; i < m; i += 4){
                g[2][i] = '0';
                ans -= 1;
            }
            cout << ans << '\n';
            for(auto &s : g) cout << s << '\n';
            continue;
        }
        if (m == 3){
            vector<string> g(n, string(m, '1'));
            int ans = n * m;
            for(int i = 3; i < n; i += 4){
                g[i][0] = g[i][1] = '0';
                ans -= 2;
            }
            for(int i = 1; i < n; i += 4){
                g[i][2] = '0';
                ans -= 1;
            }
            cout << ans << '\n';
            for(auto &s : g) cout << s << '\n';
            continue;
        }

        array<int, 3> best;
        int mx = 0;

        vector<pair<int, int> > p[2];
        p[0] = {{0, 1}, {1, 3}, {2, 0}, {3, 2}};
        p[1] = {{0, 2}, {1, 0}, {2, 3}, {3, 1}};

        auto get = [&](int x, int y, int id){
            vector<string> g(n, string(m, '1'));
            int ans = n * m;
            for(int i = 0; i < n; i++){
                for(int j = 0; j < m; j++){
                    int xx = (i + x) % 4, yy = (j + y) % 4;
                    for(auto &[tx, ty] : p[id]){
                        if (xx == tx && yy == ty){
                            g[i][j] = '0';
                            ans--;
                        }
                    }
                }
            }
            vector<vector<bool> > v(n, vector<bool>(m));
            int cnt = 0;

            auto bfs = [&](int x, int y){
                static const int dx[4] = {-1, 0, 1, 0};
                static const int dy[4] = {0, -1, 0, 1};
                queue<pair<int, int> > q;
                q.push({x, y});
                v[x][y] = true;
                while(!q.empty()){
                    auto [tx, ty] = q.front();
                    q.pop();
                    for(int u = 0; u < 4; u++){
                        int xx = tx + dx[u], yy = ty + dy[u];
                        if (xx < 0 || xx >= n || yy < 0 || yy >= m) continue;
                        if (g[xx][yy] == '0' || v[xx][yy]) continue;
                        v[xx][yy] = true;
                        q.push({xx, yy});
                    } 
                }
            };

            for(int i = 0; i < n; i++){
                for(int j = 0; j < m; j++){
                    if (g[i][j] == '0' || v[i][j]) continue;
                    if (++cnt == 2) return 0;
                    bfs(i, j);
                }
            }
            return ans;
        };

        for(int i = 0; i < 4; i++){
            for(int j = 0; j < 4; j++){
                for(int k = 0; k < 2; k++){
                    int t = get(i, j, k);
                    if (t > mx){
                        mx = t;
                        best = {i, j, k};
                    }
                }
            }
        }
        vector<string> g(n, string(m, '1'));
        for(int i = 0; i < n; i++){
            for(int j = 0; j < m; j++){
                int xx = (i + best[0]) % 4, yy = (j + best[1]) % 4;
                for(auto &[tx, ty] : p[best[2]]){
                    if (xx == tx && yy == ty){
                        g[i][j] = '0';
                    }
                }
            }
        }
        cout << mx << '\n';
        for(auto &s : g) cout << s << '\n';
    }

}

详细

Test #1:

score: 100
Accepted
time: 1ms
memory: 3436kb

input:

3
2 2
3 4
3 8

output:

4
11
11
9
1110
1110
1011
18
11101110
11101110
10111011

result:

ok ok (3 test cases)

Test #2:

score: 0
Accepted
time: 21ms
memory: 3496kb

input:

361
2 2
2 3
2 4
2 5
2 6
2 7
2 8
2 9
2 10
2 11
2 12
2 13
2 14
2 15
2 16
2 17
2 18
2 19
2 20
3 2
3 3
3 4
3 5
3 6
3 7
3 8
3 9
3 10
3 11
3 12
3 13
3 14
3 15
3 16
3 17
3 18
3 19
3 20
4 2
4 3
4 4
4 5
4 6
4 7
4 8
4 9
4 10
4 11
4 12
4 13
4 14
4 15
4 16
4 17
4 18
4 19
4 20
5 2
5 3
5 4
5 5
5 6
5 7
5 8
5 9
5 1...

output:

4
11
11
6
111
111
6
1011
1110
8
10111
11101
9
101110
111011
11
1011101
1110111
12
10111011
11101110
14
101110111
111011101
15
1011101110
1110111011
17
10111011101
11101110111
18
101110111011
111011101110
20
1011101110111
1110111011101
21
10111011101110
11101110111011
23
101110111011101
1110111011101...

result:

ok ok (361 test cases)

Test #3:

score: 0
Accepted
time: 350ms
memory: 3472kb

input:

100
91 91
91 92
91 93
91 94
91 95
91 96
91 97
91 98
91 99
91 100
92 91
92 92
92 93
92 94
92 95
92 96
92 97
92 98
92 99
92 100
93 91
93 92
93 93
93 94
93 95
93 96
93 97
93 98
93 99
93 100
94 91
94 92
94 93
94 94
94 95
94 96
94 97
94 98
94 99
94 100
95 91
95 92
95 93
95 94
95 95
95 96
95 97
95 98
95 9...

output:

6211
1011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101
1110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111
0111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011
1101110111011101110...

result:

ok ok (100 test cases)

Test #4:

score: 0
Accepted
time: 354ms
memory: 3584kb

input:

16
247 247
247 248
247 249
247 250
248 247
248 248
248 249
248 250
249 247
249 248
249 249
249 250
250 247
250 248
250 249
250 250

output:

45757
1011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101
1110111011101110111011101110111011101110111011...

result:

ok ok (16 test cases)

Test #5:

score: 0
Accepted
time: 340ms
memory: 4652kb

input:

1
997 997

output:

745507
10111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111...

result:

ok ok (1 test case)

Test #6:

score: 0
Accepted
time: 344ms
memory: 4668kb

input:

1
997 998

output:

746255
11011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011...

result:

ok ok (1 test case)

Test #7:

score: 0
Accepted
time: 347ms
memory: 4644kb

input:

1
997 999

output:

747003
11101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101...

result:

ok ok (1 test case)

Test #8:

score: 0
Accepted
time: 344ms
memory: 4692kb

input:

1
997 1000

output:

747750
10111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111...

result:

ok ok (1 test case)

Test #9:

score: 0
Accepted
time: 344ms
memory: 4680kb

input:

1
998 997

output:

746255
10111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111...

result:

ok ok (1 test case)

Test #10:

score: 0
Accepted
time: 346ms
memory: 4688kb

input:

1
998 998

output:

747004
11011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011...

result:

ok ok (1 test case)

Test #11:

score: 0
Accepted
time: 340ms
memory: 4672kb

input:

1
998 999

output:

747752
10111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111...

result:

ok ok (1 test case)

Test #12:

score: 0
Accepted
time: 344ms
memory: 4672kb

input:

1
998 1000

output:

748500
10111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111...

result:

ok ok (1 test case)

Test #13:

score: 0
Accepted
time: 357ms
memory: 4648kb

input:

1
999 997

output:

747003
10111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111...

result:

ok ok (1 test case)

Test #14:

score: 0
Accepted
time: 350ms
memory: 4652kb

input:

1
999 998

output:

747752
11011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011...

result:

ok ok (1 test case)

Test #15:

score: 0
Accepted
time: 340ms
memory: 4672kb

input:

1
999 999

output:

748501
10111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111...

result:

ok ok (1 test case)

Test #16:

score: 0
Accepted
time: 344ms
memory: 4688kb

input:

1
999 1000

output:

749250
10111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111...

result:

ok ok (1 test case)

Test #17:

score: 0
Accepted
time: 356ms
memory: 4656kb

input:

1
1000 997

output:

747750
10111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111...

result:

ok ok (1 test case)

Test #18:

score: 0
Accepted
time: 341ms
memory: 4764kb

input:

1
1000 998

output:

748500
10111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111...

result:

ok ok (1 test case)

Test #19:

score: 0
Accepted
time: 345ms
memory: 4680kb

input:

1
1000 999

output:

749250
10111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111...

result:

ok ok (1 test case)

Test #20:

score: 0
Accepted
time: 345ms
memory: 4668kb

input:

1
1000 1000

output:

750000
10111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111...

result:

ok ok (1 test case)

Test #21:

score: 0
Accepted
time: 1ms
memory: 3504kb

input:

1
3 997

output:

2244
1110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111...

result:

ok ok (1 test case)

Test #22:

score: 0
Accepted
time: 0ms
memory: 3480kb

input:

1
3 998

output:

2246
1110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111...

result:

ok ok (1 test case)

Test #23:

score: 0
Accepted
time: 1ms
memory: 3468kb

input:

1
3 999

output:

2249
1110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111...

result:

ok ok (1 test case)

Test #24:

score: 0
Accepted
time: 0ms
memory: 3476kb

input:

1
3 1000

output:

2250
1110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111...

result:

ok ok (1 test case)

Test #25:

score: 0
Accepted
time: 1ms
memory: 3552kb

input:

1
997 3

output:

2244
111
110
111
001
111
110
111
001
111
110
111
001
111
110
111
001
111
110
111
001
111
110
111
001
111
110
111
001
111
110
111
001
111
110
111
001
111
110
111
001
111
110
111
001
111
110
111
001
111
110
111
001
111
110
111
001
111
110
111
001
111
110
111
001
111
110
111
001
111
110
111
001
111
110...

result:

ok ok (1 test case)

Test #26:

score: 0
Accepted
time: 0ms
memory: 3576kb

input:

1
998 3

output:

2246
111
110
111
001
111
110
111
001
111
110
111
001
111
110
111
001
111
110
111
001
111
110
111
001
111
110
111
001
111
110
111
001
111
110
111
001
111
110
111
001
111
110
111
001
111
110
111
001
111
110
111
001
111
110
111
001
111
110
111
001
111
110
111
001
111
110
111
001
111
110
111
001
111
110...

result:

ok ok (1 test case)

Test #27:

score: 0
Accepted
time: 1ms
memory: 3476kb

input:

1
999 3

output:

2249
111
110
111
001
111
110
111
001
111
110
111
001
111
110
111
001
111
110
111
001
111
110
111
001
111
110
111
001
111
110
111
001
111
110
111
001
111
110
111
001
111
110
111
001
111
110
111
001
111
110
111
001
111
110
111
001
111
110
111
001
111
110
111
001
111
110
111
001
111
110
111
001
111
110...

result:

ok ok (1 test case)

Test #28:

score: 0
Accepted
time: 1ms
memory: 3548kb

input:

1
1000 3

output:

2250
111
110
111
001
111
110
111
001
111
110
111
001
111
110
111
001
111
110
111
001
111
110
111
001
111
110
111
001
111
110
111
001
111
110
111
001
111
110
111
001
111
110
111
001
111
110
111
001
111
110
111
001
111
110
111
001
111
110
111
001
111
110
111
001
111
110
111
001
111
110
111
001
111
110...

result:

ok ok (1 test case)

Test #29:

score: 0
Accepted
time: 0ms
memory: 3528kb

input:

1
2 997

output:

1496
1011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101...

result:

ok ok (1 test case)

Test #30:

score: 0
Accepted
time: 2ms
memory: 3448kb

input:

1
2 998

output:

1497
1011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101...

result:

ok ok (1 test case)

Test #31:

score: 0
Accepted
time: 2ms
memory: 3452kb

input:

1
2 999

output:

1499
1011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101...

result:

ok ok (1 test case)

Test #32:

score: 0
Accepted
time: 2ms
memory: 3484kb

input:

1
2 1000

output:

1500
1011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101...

result:

ok ok (1 test case)

Test #33:

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

input:

1
997 2

output:

1496
11
01
11
10
11
01
11
10
11
01
11
10
11
01
11
10
11
01
11
10
11
01
11
10
11
01
11
10
11
01
11
10
11
01
11
10
11
01
11
10
11
01
11
10
11
01
11
10
11
01
11
10
11
01
11
10
11
01
11
10
11
01
11
10
11
01
11
10
11
01
11
10
11
01
11
10
11
01
11
10
11
01
11
10
11
01
11
10
11
01
11
10
11
01
11
10
11
01
1...

result:

ok ok (1 test case)

Test #34:

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

input:

1
998 2

output:

1497
10
11
01
11
10
11
01
11
10
11
01
11
10
11
01
11
10
11
01
11
10
11
01
11
10
11
01
11
10
11
01
11
10
11
01
11
10
11
01
11
10
11
01
11
10
11
01
11
10
11
01
11
10
11
01
11
10
11
01
11
10
11
01
11
10
11
01
11
10
11
01
11
10
11
01
11
10
11
01
11
10
11
01
11
10
11
01
11
10
11
01
11
10
11
01
11
10
11
0...

result:

ok ok (1 test case)

Test #35:

score: 0
Accepted
time: 3ms
memory: 3548kb

input:

1
999 2

output:

1499
11
01
11
10
11
01
11
10
11
01
11
10
11
01
11
10
11
01
11
10
11
01
11
10
11
01
11
10
11
01
11
10
11
01
11
10
11
01
11
10
11
01
11
10
11
01
11
10
11
01
11
10
11
01
11
10
11
01
11
10
11
01
11
10
11
01
11
10
11
01
11
10
11
01
11
10
11
01
11
10
11
01
11
10
11
01
11
10
11
01
11
10
11
01
11
10
11
01
1...

result:

ok ok (1 test case)

Test #36:

score: 0
Accepted
time: 3ms
memory: 3628kb

input:

1
1000 2

output:

1500
10
11
01
11
10
11
01
11
10
11
01
11
10
11
01
11
10
11
01
11
10
11
01
11
10
11
01
11
10
11
01
11
10
11
01
11
10
11
01
11
10
11
01
11
10
11
01
11
10
11
01
11
10
11
01
11
10
11
01
11
10
11
01
11
10
11
01
11
10
11
01
11
10
11
01
11
10
11
01
11
10
11
01
11
10
11
01
11
10
11
01
11
10
11
01
11
10
11
0...

result:

ok ok (1 test case)