QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#236425#7178. Bishopsviniciuslettieri#WA 67ms5512kbC++201.8kb2023-11-03 22:44:092023-11-03 22:44:09

Judging History

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

  • [2023-11-03 22:44:09]
  • 评测
  • 测评结果:WA
  • 用时:67ms
  • 内存:5512kb
  • [2023-11-03 22:44:09]
  • 提交

answer

#include "bits/stdc++.h"
using namespace std;

vector<pair<int, int>> solve(int maior, int menor) {
    vector<pair<int, int>> resp;
    for(int i=0; i<=(maior-1)/menor; i++) {
        for(int j=0; j<menor; j++) {
            // cout << i * menor + 1 << ", " << j + 1 << endl; 
            resp.push_back({i * menor + 1, j + 1});
        }
    }

    // cout << menor - 2 * (menor - ((maior-1) % menor)) << endl;
    int last = menor - ((maior-1) % menor);
    for(int i=last; i<menor-last; i++) {
        // cout << maior + 1 << ", " << i + 1 << endl;
        resp.push_back({maior, i + 1});
    }

    return resp;
}

int main(void){
    ios_base::sync_with_stdio(false), cin.tie(nullptr);

    int N, M; cin >> N >> M;
    int maior = max(N, M), menor = min(N, M);

    if(maior > menor) {

        vector<pair<int, int>> resp1 = solve(maior/2, menor);
        vector<pair<int, int>> resp2 = solve(maior-(maior/2), menor);

        cout << int(resp1.size()) + int(resp2.size()) << endl;
        for(auto &p: resp1) {
            pair<int, int> p2 = (menor == M ? make_pair(p.first, p.second) : make_pair(p.second, p.first)); 
            cout << p2.first << " " << p2.second << endl;
        }
        for(auto &p: resp2) {
            pair<int, int> p2 = (menor == M ? make_pair(maior-p.first+1, p.second) : make_pair(p.second, maior-p.first+1)); 
            cout << p2.first << " " << p2.second << endl;
        }
    
    } else {

        vector<pair<int, int>> resp1 = solve(maior, menor);

        cout << int(resp1.size()) << endl;
        for(auto &p: resp1) {
            pair<int, int> p2 = (menor == M ? make_pair(p.first, p.second) : make_pair(p.second, p.first)); 
            cout << p2.first << " " << p2.second << endl;
        }

    }

}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

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

input:

2 5

output:

6
1 1
2 1
1 5
2 5
1 3
2 3

result:

ok n: 2, m: 5, bishops: 6

Test #2:

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

input:

5 5

output:

8
1 1
1 2
1 3
1 4
1 5
5 2
5 3
5 4

result:

ok n: 5, m: 5, bishops: 8

Test #3:

score: 0
Accepted
time: 67ms
memory: 5160kb

input:

100000 100000

output:

199998
1 1
1 2
1 3
1 4
1 5
1 6
1 7
1 8
1 9
1 10
1 11
1 12
1 13
1 14
1 15
1 16
1 17
1 18
1 19
1 20
1 21
1 22
1 23
1 24
1 25
1 26
1 27
1 28
1 29
1 30
1 31
1 32
1 33
1 34
1 35
1 36
1 37
1 38
1 39
1 40
1 41
1 42
1 43
1 44
1 45
1 46
1 47
1 48
1 49
1 50
1 51
1 52
1 53
1 54
1 55
1 56
1 57
1 58
1 59
1 60
1 ...

result:

ok n: 100000, m: 100000, bishops: 199998

Test #4:

score: 0
Accepted
time: 63ms
memory: 5420kb

input:

100000 99999

output:

199998
1 1
1 2
1 3
1 4
1 5
1 6
1 7
1 8
1 9
1 10
1 11
1 12
1 13
1 14
1 15
1 16
1 17
1 18
1 19
1 20
1 21
1 22
1 23
1 24
1 25
1 26
1 27
1 28
1 29
1 30
1 31
1 32
1 33
1 34
1 35
1 36
1 37
1 38
1 39
1 40
1 41
1 42
1 43
1 44
1 45
1 46
1 47
1 48
1 49
1 50
1 51
1 52
1 53
1 54
1 55
1 56
1 57
1 58
1 59
1 60
1 ...

result:

ok n: 100000, m: 99999, bishops: 199998

Test #5:

score: -100
Wrong Answer
time: 39ms
memory: 5512kb

input:

100000 50000

output:

199996
1 1
1 2
1 3
1 4
1 5
1 6
1 7
1 8
1 9
1 10
1 11
1 12
1 13
1 14
1 15
1 16
1 17
1 18
1 19
1 20
1 21
1 22
1 23
1 24
1 25
1 26
1 27
1 28
1 29
1 30
1 31
1 32
1 33
1 34
1 35
1 36
1 37
1 38
1 39
1 40
1 41
1 42
1 43
1 44
1 45
1 46
1 47
1 48
1 49
1 50
1 51
1 52
1 53
1 54
1 55
1 56
1 57
1 58
1 59
1 60
1 ...

result:

wrong answer Integer parameter [name=q] equals to 199996, violates the range [0, 150000]