ZZULIOJ 1799 wrz的压岁钱

1799: wrz的压岁钱

Time Limit: 1 Sec   Memory Limit: 128 MB
Submit: 355   Solved: 53

Submit Status Web Board

Description

马上要过年了,电子信息wrz要去亲戚家拿压岁钱。
他的亲戚有三家,他有一辆谷鸽牌电动车,电量只能支持从自己家骑到任意一家亲戚家,然后电动车就会没电了,电动车会放在该亲戚家充电。
剩下的两家亲戚由电子信息wrz步行过去,之后再回来骑充满电的谷鸽牌电动车回家。
但是电子信息wrz比较懒,不喜欢走太多路,你能帮他算出最少要走多少路程吗?

Input

第一行为数字T,表示有T(1<=T<=1000)组测试数据。
每组数据占一行,分别有三个整数x,y,z,代表三家中任意两家的路程。(1<=x,y,z<=10^9)
例如:三家亲戚分别为a,b,c,则三个数字分别为a到b的路程,b到c的路程,c到a的路程。

Output

每个实例输出占一行:格式为Case #x: y

x为第x个实例,y为电子信息wrz需要走的最短路程。

Sample Input

3
1 2 3
4 5 6
7 8 9

Sample Output

Case #1: 6
Case #2: 15
Case #3: 24

一个很简单的问题。

题解:

wrz走亲戚有两种情况。一个是亲戚家可以组成一个三角形,一个是不能。

可以的话把三个长度相加。不可以就选最短的两个相加再乘以二。


#include<stdio.h>
#include<algorithm>
using namespace std;
long long a[5];
int main()
{
	int t,i;
	long long s;
	scanf("%d",&t);
	for(i=1;i<=t;i++)
	{
		scanf("%lld%lld%lld",&a[0],&a[1],&a[2]);
		sort(a,a+3);
		if(a[0]+a[1]>a[2])
			s=a[1]+a[2]+a[0];
		else
			s=(a[1]+a[0])*2;
		printf("Case #%d: %lld\n",i,s);
	}
	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值