由于是选用等量的食材,因此一定是希望最大化min(a,b)
假设a<b,则首先尽可能让a=b,然后在平分剩下的c
C++
#include<bits/stdc++.h>
using namespace std;
#define ll long long
int main()
{
ll a , b , c;
cin >> a >> b >> c;
if (a > b) swap(a , b);
ll f = min(b - a , c);
c -= f;
a += f;
a += c / 2;
cout << a / 2 << endl;
return 0;
}
Java
import java.util.*;
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
while(sc.hasNextInt()){
int a = sc.nextInt();
int b = sc.nextInt();
int c = sc.nextInt();
int result = 0;
if(Math.abs(a-b) >= c){
result = (Math.min(a,b)+c)/2;
}else{
result = ((c - Math.abs(a-b))/2+Math.max(a,b))/2;
}
System.out.print(result);
}
}
}
Python
a, b, c = map(int, input().split())
if c <= abs(a - b):
print((min(a, b) + c) // 2)
else:
print((max(a, b) + (c - abs(a - b)) // 2) // 2)
米小游是一名厨艺达人,最近特别喜欢做玫瑰鸭,因为这种菜式的口感鲜美且具有一定的艺术性。
米小游的厨房里,堆满了新鲜的食材,其中包括大量的鸭肉和玫瑰花。
然而,当他想要烹制一些玫瑰鸭时,他发现他的材料可能不够用。他有 a 个玫瑰花, b 个鸭肉,以及 c 个神秘的魔法食材,可以当作玫瑰花或者鸭肉使用。
米小游知道做一只玫瑰鸭需要 2 个玫瑰花和 2 个鸭肉。他希望尽可能多地制作玫瑰鸭,而不浪费任何食材。
现在他需要你的帮助,来计算他最多能制作多少只玫瑰鸭。
输入三个整数 a,b,c , 用空格隔开。 0≤a,b,c≤109
一个整数,代表可以制作的玫瑰鸭的最大数量。
输入
3 3 3
输出
2
样例解释
可以将两个万能食材当作一个玫瑰花和一个鸭肉,所以是 4 4 1 可以制作两个玫瑰鸭。