QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#243333 | #7178. Bishops | OAleksa | WA | 18ms | 7252kb | C++14 | 1.6kb | 2023-11-08 04:02:15 | 2023-11-08 04:02:15 |
Judging History
answer
#include<bits/stdc++.h>
using namespace std;
#define int long long
#define f first
#define s second
signed main() {
ios_base::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
int tt = 1;
//cin >> tt;
while (tt--) {
int n, m;
cin >> n >> m;
int sw = 0;
if (n == m) {
if (n == 1) {
cout << "1 1" << "\n";
return 0;
}
cout << n + m - 2 << "\n";
for (int i = 1;i <= n - 1;i++) {
cout << 1 << " " << i << "\n";
cout << n << " " << i << "\n";
}
return 0;
}
if (n < m) {
swap(n, m);
sw = 1;
}
//m je manja kord
if (m % 2 == 1) {
vector<pair<int, int>> res;
for (int i = 1;i <= m;i++) {
res.push_back({1, i});
res.push_back({n, i});
}
int s = m - (m / 2 - 1);
int e = n - (m - (m / 2 - 1)) + 1;
for (int i = s;i <= e;i++)
res.push_back({i, (n + 1) / 2});
cout << res.size() << '\n';
if (sw) {
for (int i = 0;i < (int)res.size();i++)
swap(res[i].f, res[i].s);
}
for (auto x : res)
cout << x.f << " " << x.s << "\n";
return 0;
}
vector<pair<int, int>> res;
for (int i = 1;i <= m;i++)
res.push_back({1, i});
for (int i = 1;i <= m;i++)
res.push_back({n, i});
int s = m / 2 + 2, e = n - (m / 2 + 2) + 1;
for (int i = s;i <= e;i += 2) {
res.push_back({i, m / 2});
res.push_back({i, m / 2 + 1});
}
if(sw) {
for(int i = 0; i < res.size(); i++) {
swap(res[i].first, res[i].second);
}
}
cout << res.size() << "\n";
for(auto x : res)
cout << x.f << " " << x.s << "\n";
}
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 0ms
memory: 3376kb
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: 1ms
memory: 3416kb
input:
5 5
output:
8 1 1 5 1 1 2 5 2 1 3 5 3 1 4 5 4
result:
ok n: 5, m: 5, bishops: 8
Test #3:
score: 0
Accepted
time: 18ms
memory: 3484kb
input:
100000 100000
output:
199998 1 1 100000 1 1 2 100000 2 1 3 100000 3 1 4 100000 4 1 5 100000 5 1 6 100000 6 1 7 100000 7 1 8 100000 8 1 9 100000 9 1 10 100000 10 1 11 100000 11 1 12 100000 12 1 13 100000 13 1 14 100000 14 1 15 100000 15 1 16 100000 16 1 17 100000 17 1 18 100000 18 1 19 100000 19 1 20 100000 20 1 21 100000...
result:
ok n: 100000, m: 100000, bishops: 199998
Test #4:
score: 0
Accepted
time: 16ms
memory: 7252kb
input:
100000 99999
output:
199998 1 1 100000 1 1 2 100000 2 1 3 100000 3 1 4 100000 4 1 5 100000 5 1 6 100000 6 1 7 100000 7 1 8 100000 8 1 9 100000 9 1 10 100000 10 1 11 100000 11 1 12 100000 12 1 13 100000 13 1 14 100000 14 1 15 100000 15 1 16 100000 16 1 17 100000 17 1 18 100000 18 1 19 100000 19 1 20 100000 20 1 21 100000...
result:
ok n: 100000, m: 99999, bishops: 199998
Test #5:
score: 0
Accepted
time: 12ms
memory: 7220kb
input:
100000 50000
output:
149998 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: 50000, bishops: 149998
Test #6:
score: -100
Wrong Answer
time: 11ms
memory: 5144kb
input:
1 100000
output:
100000 1 1 1 100000 50000 2 50000 3 50000 4 50000 5 50000 6 50000 7 50000 8 50000 9 50000 10 50000 11 50000 12 50000 13 50000 14 50000 15 50000 16 50000 17 50000 18 50000 19 50000 20 50000 21 50000 22 50000 23 50000 24 50000 25 50000 26 50000 27 50000 28 50000 29 50000 30 50000 31 50000 32 50000 33 ...
result:
wrong answer Integer parameter [name=x] equals to 50000, violates the range [1, 1]