QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#171748#7178. Bishopsucup-team1113#RE 2ms3656kbC++201.2kb2023-09-09 17:32:272023-09-09 17:32:27

Judging History

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

  • [2023-09-09 17:32:27]
  • 评测
  • 测评结果:RE
  • 用时:2ms
  • 内存:3656kb
  • [2023-09-09 17:32:27]
  • 提交

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 <= 10000 && m <= 10000);
	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: 3656kb

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: 2ms
memory: 3656kb

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

output:


result: