QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#243333#7178. BishopsOAleksaWA 18ms7252kbC++141.6kb2023-11-08 04:02:152023-11-08 04:02:15

Judging History

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

  • [2023-11-08 04:02:15]
  • 评测
  • 测评结果:WA
  • 用时:18ms
  • 内存:7252kb
  • [2023-11-08 04:02:15]
  • 提交

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]