思维题:组队竞赛(upc新生第九场H题)

题目描述

每年,A市都会组织程序设计竞赛,他们的比赛与我们的略有不同,是组成小团队进行比赛的,每个队伍有三人组成。根据传统,队员大多数都是男生,因此规定,队伍必须由两个男生和一个女生组成。
可是今年的情况有所不同,由于一个国际交流的活动,该市必须派出K位同学参加国际交流,当然交流没有男女比例的限制。为了顺利的进行国际交流,又要使得参加程序设计竞赛的队伍尽可能的多,就要进行细致的安排。
现在,给定共有M个男同学,N个女同学,需要派遣参加国际交流的为K位同学,请你计算,最多能有多少队伍参加本市的程序设计竞赛。
例如,M=6,N=3,K=2,我们可以派出1位男同学和1位女同学参加国际交流,剩余的5位男同学和2为女同学可以组成2个队伍(剩下的1位男同学就无法参加比赛了)。

输入

输入仅一行,包含3个整数M,N,K(0<=M<=100, 0<=N<=100, 0<=K<=M+N),分别表示男生人数,女生人数和参加国际交流的人数。

输出

输出一个整数,表示最多可以组织多少个队伍参加比赛。

样例输入 Copy

6 3 2

样例输出 Copy

2

这道题基本思想是贪心,先根据输入数据分配好不出国交流的情况下最多能组多少队并记录下来没有分配进队伍的人数c和队伍数d,再让k-c后看是否盈余,若盈余只能拆开一组队伍了(一拆拆3人,所以k/3+1解决需要拆开队伍数量的问题,最后d再减去(k/3+1)即可。不多说了,上代码。

呜呜呜,刚开始做wa了好多次

#include <bits/stdc++.h>
using namespace std;

int main() {
    int m, n, k;
    scanf("%d%d%d", &m, &n, &k);
    int a, b;
&n

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值