您的位置:首页 > 编程语言 > C语言/C++

hdu 5924 Mr. Frog’s Problem(2016CCPC东北地区大学生程序设计竞赛 C题,数学思维)

2016-10-24 11:23 573 查看
传送门, http://acm.hdu.edu.cn/showproblem.php?pid=5924

题目大意:

输入两个正整数A,B(A≤B),求C,D使得C,D∈[A,B],且AB+BA≤CD+DC.

题目分析:

画下y=x+1x图像,然后在x=1左边点一个点,在右边点一个点,他们的y值相等。设左边那个点为AB,右边那个点是BA,同理画出C/D、D/C点位置,所以CD≤AB,即BC≤AD。

又知道C,D∈[A,B],所以有AD≤BC,因此AD=BC,又由于A≤C,所以D≥B.显然只能取D=B.同理 A=C.

剩下就简单了,必须在两边取就得了。

大部分题解只说在边上,但没给出相对严格的证明。当然也希望有更简单的证明方法。

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int main() {
int t;
ll a,b;
scanf("%d",&t);
for(int i=1;i<=t;i++) {
scanf("%I64d %I64d",&a,&b);
printf("Case #%d:\n", i);
if(a==b)
printf("1\n%I64d %I64d\n", a,b);
else {
printf("2\n%I64d %I64d\n%I64d %I64d\n", a,b,b,a);
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c语言
相关文章推荐