QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#171980 | #7178. Bishops | ucup-team1113# | RE | 2ms | 3724kb | C++20 | 1.2kb | 2023-09-09 17:54:08 | 2023-09-09 17:54:08 |
Judging History
answer
#include<bits/stdc++.h>
#define int ll
using namespace std;
#define endl '\n'
typedef long long ll;
signed main()
{
ios::sync_with_stdio(0);
cout.tie(0);
cin.tie(0);
//freopen("out.txt", "w", stdout);
int n, m; cin >> n >> m;
assert(min(n, m) <= 1000 || max(n, m) > 100000);
bool flag = false;
if (m > n)
flag = true;
if (flag) //m>n
{
swap(m, n);
int x = 0;
if ((n - 1) % m == 0)x = 0;
else
{
x = ((n - 1) / m + 1) * m + 1;
x = m - (x - n) * 2;
x = max(0ll, x);
}
cout << ((n - 1) / m + 1)*m + x << endl;
for (int i = 1; i <= n; i += m)
for (int k = 1; k <= m; k++)
cout << k << " " << i << endl;
if (x)
for (int i = (m - x) / 2 + 1; i <= (m - x) / 2 + x; i++)
cout << i << " " << n << endl;
}
else//n>=m
{
int x = 0;
if ((n - 1) % m == 0)x = 0;
else
{
x = ((n - 1) / m + 1) * m + 1;
x = m - (x - n) * 2;
x = max(0ll, x);
}
cout << ((n - 1) / m + 1)*m + x << endl;
for (int i = 1; i <= n; i += m)
for (int k = 1; k <= m; k++)
cout << i << " " << k << endl; //((n-1)/m+1)*m
if (x)
for (int i = (m - x) / 2 + 1; i <= (m - x) / 2 + x; i++)
cout << n << " " << i << endl;
}
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 2ms
memory: 3724kb
input:
2 5
output:
6 1 1 2 1 1 3 2 3 1 5 2 5
result:
ok n: 2, m: 5, bishops: 6
Test #2:
score: 0
Accepted
time: 1ms
memory: 3716kb
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: -100
Dangerous Syscalls
input:
100000 100000