Gửi bài giải
Điểm:
5,00
Giới hạn thời gian:
2.0s
Giới hạn bộ nhớ:
256M
Input:
stdin
Output:
stdout
Dạng bài
Ngôn ngữ cho phép
C++
Trò chơi tìm nhanh số hình vuông trong một bảng gồm ~n~ dòng và ~m~ cột.
Ví dụ, trong bảng ~3~ x ~5~ cột có ~15~ hình vuông với cạnh là ~1~, ~8~ hình vuông với cạnh là ~2~ và ~3~ hình vuông với cạnh là ~3~. Tổng số hình vuông phân biệt trong bảng ~3~ x ~5~ là ~15+8+3=26~.
Cũng có thể phát biểu trò chơi ngược lại, đó là tìm tất cả các cặp số ~n~ và ~m~ thỏa mãn, có đúng ~x~ hình vuông phân biệt nằm trong bảng gồm ~n~ dòng và ~m~ cột.
Input
- Dòng đầu tiên là số nguyên ~x~ ~(1 ≤ x ≤ 10^{18})~, đó là số hình vuông nằm bên trong bảng
Output
- Dòng đầu tiên đưa ra số nguyên ~k~ là số bảng có đúng ~x~ hình vuông phân biệt nằm bên trong.
- Các dòng sau, in ra ~k~ cặp số nguyên mô tả về bảng. In ra cặp số theo thứ tự tăng dần của ~n~, và trong trường hợp ~n~ bằng nhau, in theo thứ tự tăng dần của ~m~.
Ví dụ
Sample Input 1
26
Sample Output 1
6
1 26
2 9
3 5
5 3
9 2
26 1
Sample Input 2
2
Sample Output 2
2
1 2
2 1
Sample Input 3
8
Sample Output 3
4
1 8
2 3
3 2
8 1
Bình luận