Submission details
Task:Hypyt
Sender:jlaire
Submission time:2025-10-17 19:26:33 +0300
Language:C++ (C++17)
Status:READY
Result:100
Feedback
groupverdictscore
#1ACCEPTED30
#2ACCEPTED70
Test results
testverdicttimegroup
#1ACCEPTED0.00 s1, 2details
#2ACCEPTED0.00 s1, 2details
#3ACCEPTED0.01 s2details
#4ACCEPTED0.03 s2details
#5ACCEPTED0.04 s2details

Code

#include <iostream>
using namespace std;

void solve(int n, int m) {
    int Y=0, X=0;
    auto go = [&](int y, int x) {
        if (Y==y&&X==x) return;
        cout << (y-Y) << ' ' << (x-X) << '\n';
        Y=y, X=x;
    };
    for (int U=0, D=n-1; U<D; U++, D--) {
        for (int L=0, R=m-1; L<m; L++, R--) {
            go(U, L);
            go(D, R);
        }
    }
    if (n%2) {
        for (int L=0, R=m-1; L<=R; L++, R--) {
            go(n/2, L);
            go(n/2, R);
        }
    }
}

int main() {
    cin.tie(0)->sync_with_stdio(0);
    int t; cin>>t;
    for (int n,m; cin>>n>>m;) {
        solve(n,m);
    }
}

Test details

Test 1

Group: 1, 2

Verdict: ACCEPTED

input
25
1 1
1 2
1 3
1 4
...

correct output
0 1
0 2
0 -1
0 3
0 -2
...

user output
0 1
0 2
0 -1
0 3
0 -2
...

Test 2

Group: 1, 2

Verdict: ACCEPTED

input
100
5 5
5 5
5 5
5 5
...

correct output
4 4
-4 -3
4 2
-4 -1
4 0
...

user output
4 4
-4 -3
4 2
-4 -1
4 0
...

Test 3

Group: 2

Verdict: ACCEPTED

input
100
1 25
20 40
5 34
50 34
...

correct output
0 24
0 -23
0 22
0 -21
0 20
...

user output
0 24
0 -23
0 22
0 -21
0 20
...

Test 4

Group: 2

Verdict: ACCEPTED

input
100
46 47
41 39
46 36
46 30
...

correct output
45 46
-45 -45
45 44
-45 -43
45 42
...

user output
45 46
-45 -45
45 44
-45 -43
45 42
...

Test 5

Group: 2

Verdict: ACCEPTED

input
100
50 50
50 50
50 50
50 50
...

correct output
49 49
-49 -48
49 47
-49 -46
49 45
...

user output
49 49
-49 -48
49 47
-49 -46
49 45
...