QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#236425 | #7178. Bishops | viniciuslettieri# | WA | 67ms | 5512kb | C++20 | 1.8kb | 2023-11-03 22:44:09 | 2023-11-03 22:44:09 |
Judging History
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]