hdu-5924

来源:互联网 发布:什么的是网络协议 编辑:程序博客网 时间:2024/06/13 10:51

Mr. Frog’s Problem

 HDU - 5924 


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 ACB,ADBA≤C≤B,A≤D≤B and AB+BACD+DCAB+BA≤CD+DC
Input
first line contains only one integer T (T125T≤125), which indicates the number of test cases. Each test case contains two integers A and B (1AB10181≤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. 
Sample Input
210 109 27
Sample Output
Case #1:110 10Case #2:29 2727 9
水题。由于A,B是区间的两个端点,所以A/B + B/A 已经就是最大值了。所以当A==B 时答案就是A,B;当不相等时,答案为A,B和B,A
代码:
#include<bits/stdc++.h>using namespace std;int main(){    int T;    scanf("%d",&T);    for(int k=1;k<=T;k++)    {        long long a,b;        scanf("%lld %lld",&a,&b);        printf("Case #%d:\n",k);        if(a==b)        {            printf("1\n");            printf("%lld %lld\n",a,b);        }        else        {            printf("2\n");            printf("%lld %lld\n",a,b);            printf("%lld %lld\n",b,a);        }    }    return 0;}


原创粉丝点击