QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#180162#6309. Aqreucup-team045#WA 2ms3816kbC++201.9kb2023-09-15 16:17:132023-09-15 16:17:14

Judging History

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

  • [2023-09-15 16:17:14]
  • 评测
  • 测评结果:WA
  • 用时:2ms
  • 内存:3816kb
  • [2023-09-15 16:17:13]
  • 提交

answer

#include<iostream>
#include<cstring>
#include<vector>
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;
        }
        pair<int, int> best;
        int mx = 0;

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

        auto get = [&](int x, int y){
            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){
                        if (xx == tx && yy == ty){
                            ans--;
                        }
                    }
                }
            }
            return ans;
        };

        for(int i = 0; i < 4; i++){
            for(int j = 0; j < 4; j++){
                int t = get(i, j);
                if (t > mx){
                    mx = t;
                    best = {i, j};
                }
            }
        }
        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.first) % 4, yy = (j + best.second) % 4;
                for(auto &[tx, ty] : p){
                    if (xx == tx && yy == ty){
                        g[i][j] = '0';
                    }
                }
            }
        }
        cout << mx << '\n';
        for(auto &s : g) cout << s << '\n';
    }

}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

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

input:

3
2 2
3 4
3 8

output:

4
11
11
9
1011
1110
0111
18
10111011
11101110
01110111

result:

ok ok (3 test cases)

Test #2:

score: -100
Wrong Answer
time: 2ms
memory: 3576kb

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
10
110111
111011
11
1011101
1110111
12
10111011
11101110
14
101110111
111011101
16
1101110111
1110111011
17
10111011101
11101110111
18
101110111011
111011101110
20
1011101110111
1110111011101
22
11011101110111
11101110111011
23
101110111011101
111011101110...

result:

wrong answer 1s are not connected. (test case 5)