今天 Patrick 等待着他的朋友 Spongebob 来他家玩。为了迎接 Spongebob,Patrick 需要去他家附近的两家商店 买一些吃的。他家离第一家商店有d1米远,离第二家商店有d2米远。还有,两家商店之间的距离是d3,帮Patrick计算去两家商店然后回家的最短距离。
Patrick 永远从他家出发,他不介意重复经过同一个地点或者同一条路,唯一的目标就是:最小化经过两间商店然后回家的距离。
第一行的输入包括三个整数 d1, d2, d3 (1 ≤ d1, d2, d3 ≤ 108)
- d1 是 Patrick 的家离第一间商店的距离;
- d2 是 Patrick 的家离第二 间商店的距离;
- d3 是两间商店的距离 .
输出经过两家商店然后回家的最短距离。
10 20 30
1 1 5
60 4
第一个样例是先经过第一间,再经过第二间,再回家
最笨的方法就是把所有路径写出来比一比大小(不过貌似没发现更简单方法);
代码:
#include<stdio.h>
int a[10];
int main()
{int d1,d2,d3,min;
scanf("%d%d%d",&d1,&d2,&d3);
a[0]=2*d1+2*d2;
a[1]=d1+d2+d3;
a[2]=2*d2+2*d3;
a[3]=2*d1+2*d3;
min=a[0];
for(int i=0;i<4;i++)
if(min>a[i])
min=a[i];
printf("%d",min);
return 0;
}