石头运输 题目描述 给定三个整数,表示三块石头的重量。 请你在不分割石头的情况下,将三块石头分给两辆车运输,使得两辆车各自运输的石头总重量尽可能相近,并分别输出两辆车运输的石头总重量。 例如: • a. 三块石头的重量分别为 4、2、3; • b. 一辆车运输重量为4的石头; • c. 另一辆车运输重量为2和3的石头; • d. 两辆车运输的石头总重量分别是4和5,各自运输的石头总重量已尽可能相近,所以输出4和5。 输入描述 输入仅一行,包含三个整数(1≤整数≤200),分别表示三块石头的重量,整数之间以一个空格隔开 输出描述 按从小到大的顺序输出两个整数,分别表示两辆车各自运输的石头总重量,整数之间以一个空格隔开 样例输入 4 2 3 样例输出 4 5
正确答案:参考程序(Python):w=list(map(int,input().split()));best=None;for m in range(1<<3):s1=sum(w[i] for i in range(3) if m>>i&1);s2=sum(w)-s1;if best is None or abs(s1-s2)<abs(best[0]-best[1]):best=(s1,s2);print(min(best),max(best))。样例4 2 3→4 5。核心:枚举分配。
试卷来源:202408(第15届)蓝桥杯Python编程青少组(选拔赛_中/高级)真题