Mr. Frog’s Problem
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 18 Accepted Submission(s): 14
Problem Description
One day, you, a clever boy, feel bored in your math class, and then fall asleep without your control. In your dream, you meet Mr. Frog, an elder man. He has a problem for you.
He gives you two positive integers A and B, and your task is to find all pairs of integers (C, D), such that A≤C≤B,A≤D≤B and AB+BA≤CD+DC
He gives you two positive integers A and B, and your task is to find all pairs of integers (C, D), such that A≤C≤B,A≤D≤B and AB+BA≤CD+DC
Input
first line contains only one integer T (
T≤125
), which indicates the number of test cases. Each test case contains two integers A and B (
1≤A≤B≤1018
).
Output
For each test case, first output one line "Case #x:", where x is the case number (starting from 1).
Then in a new line, print an integer s indicating the number of pairs you find.
In each of the following s lines, print a pair of integers C and D. pairs should be sorted by C, and then by D in ascending order.
Then in a new line, print an integer s indicating the number of pairs you find.
In each of the following s lines, print a pair of integers C and D. pairs should be sorted by C, and then by D in ascending order.
Sample Input
2 10 10 9 27
Sample Output
Case #1: 1 10 10 Case #2: 2 9 27 27 9
Source
找规律,可以打表,发现只有输入的这两个点符合题意
部分打表结果:
AC代码:很丑~~
#include<cstdio>
#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;
const int maxm = 100002;
const int maxn = 100002;
const int inf = 0x3f3f3f3f;
int main()
{
int t;
scanf("%d", &t);
int cnt = 0;
while(t--) {
int a, b;
scanf("%d%d", &a, &b);
printf("Case #%d:\n", ++cnt);
if(a == b)
printf("1\n%d %d\n", a, b);
else {
printf("2\n");
if(a < b) {
printf("%d %d\n", a, b);
printf("%d %d\n", b, a);
}
else {
printf("%d %d\n", b, a);
printf("%d %d\n", a, b);
}
}
}
}