[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

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.