QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#171737 | #7178. Bishops | ucup-team1113# | RE | 1ms | 3500kb | C++20 | 1.2kb | 2023-09-09 17:31:58 | 2023-09-09 17:31:58 |
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(n <= 1000 && m <= 1000);
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;
}
詳細信息
Test #1:
score: 100
Accepted
time: 1ms
memory: 3500kb
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: 3432kb
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