[CSES 3216] Bouncing Ball Cycle
Xem dạng PDF
Gửi bài giải
Điểm:
1,00 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
512M
Input:
stdin
Output:
stdout
Dạng bài
Ngôn ngữ cho phép
C++, Pascal, PyPy, Python
Có một quả bóng ở góc trên bên trái của một lưới ~n \times m~. Các hàng của lưới được đánh số ~1,2,\dots,n~, và các cột được đánh số ~1,2,\dots,m~.
Ban đầu quả bóng di chuyển theo đường chéo ra xa khỏi góc trên bên trái. Mỗi bước, nó di chuyển một ô. Bất cứ khi nào bóng chạm vào biên của lưới, nó đổi hướng.
Sau bao nhiêu bước thì quả bóng trở lại vị trí ban đầu? Số ô phân biệt mà nó đã đi qua là bao nhiêu?
Dữ liệu vào
Dòng đầu tiên chứa số nguyên ~t~: số lượng bộ test.
Sau đó là ~t~ dòng. Mỗi dòng chứa hai số nguyên ~n~, ~m~: kích thước của lưới.
Kết quả
Với mỗi bộ test, in ra hai số nguyên: số bước di chuyển và số ô đã đi qua.
Giới hạn
- ~1 \le t \le 1000~
- ~2 \le n,m \le 10^9~
Ví dụ
Dữ liệu vào:
4
3 4
2 2
19 18
42 1337
Kết quả:
12 6
2 2
612 171
109552 28077
Bình luận