Submission details
Task:Hypyt
Sender:Sisuaski
Submission time:2025-10-17 23:09:56 +0300
Language:C++ (C++20)
Status:READY
Result:100
Feedback
groupverdictscore
#1ACCEPTED30
#2ACCEPTED70
Test results
testverdicttimegroup
#1ACCEPTED0.00 s1, 2details
#2ACCEPTED0.00 s1, 2details
#3ACCEPTED0.02 s2details
#4ACCEPTED0.04 s2details
#5ACCEPTED0.06 s2details

Compiler report

input/code.cpp: In function 'int main()':
input/code.cpp:13:41: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
   13 |                 while(xa < xb || xa==xb && ya<yb) {
      |                                  ~~~~~~~^~~~~~~~

Code

#include <iostream>
using namespace std;
int main() {
	int t;cin>>t;
	while(t--){
		int h,w;cin>>h>>w;
		bool sw=0;
		if (w<h) sw=1,swap(w,h);
		auto out = [sw](int a, int b){if(sw)swap(a,b);cout<<a<<' '<<b<<'\n';};
		int xa=0, xb=w-1;
		int ya=0, yb=h-1;
		bool right=1;
		while(xa < xb || xa==xb && ya<yb) {
			if (right) {
				out(yb-ya, xb-xa);
				if (++ya>=h) {
					++xa;
					ya = 0;
				}
			} else {
				out(ya-yb, xa-xb);
				if (--yb<0) {
					--xb;
					yb = h-1;
				}
			}
			right = !right;
		}
	}
}

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
-3 -4
2 4
-1 -4
0 4
...

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
-44 -46
43 46
-42 -46
41 46
...

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
-48 -49
47 49
-46 -49
45 49
...