1 条题解

  • 0
    @ 2025-8-24 22:20:49

    自动搬运

    查看原文

    来自洛谷,原作者为

    avatar LinkZelda
    Be careful, Link.

    搬运于2025-08-24 22:20:49,当前版本为作者最后更新于2020-04-21 16:28:05,作者可能在搬运后再次修改,您可在原文处查看最新版

    自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多

    以下是正文


    • 首先看看数据范围 :n,m100n,m \leq 100 , 嗯 ,是道水题,那么就可以暴力了!

    • 暴力方法:我们可以枚举组成的队伍数量,因为我们知道队伍的男,女生人数,所以我们可以算出组成 ii 队后剩下男生为 nin-i ,女生人数为 m2im-2*i ,那么就判断剩下人数是否足够要派出的人数就行了。(还要注意判断男女生剩余人数都是非负数

    • 对于循环,我们应该从 00 开始,直到 (n+mk)/3(n+m-k)/3 ,剩余人数除以每个队伍的三人一定是最大可能的答案。

    • 代码实现:

    #include<iostream>
    using namespace std;
    int main()
    {
    	int n,m,k,ans=0;
    	cin>>n>>m>>k;//n是女生人数,m是男生人数 
    	for(int i=0;i<=(n+m-k)/3;i++)//组成队伍最大不超过剩余人数的三分之一 
    	{
    		int boy=m-i;//组成i个队伍,剩下男生人数 
    		int girl=n-2*i;//组成i个队伍,剩下女生人数 
    		if(boy+girl>=k&&boy>=0&&girl>=0)ans=i;//如果满足条件,则更新ans 
    	}
    	cout<<ans;
    	return 0;
     } 
    
    • 1

    信息

    ID
    5305
    时间
    1000ms
    内存
    125MiB
    难度
    1
    标签
    递交数
    0
    已通过
    0
    上传者