1 条题解

  • 0
    @ 2025-8-24 21:43:19

    自动搬运

    查看原文

    来自洛谷,原作者为

    avatar HHH恢
    **

    搬运于2025-08-24 21:43:19,当前版本为作者最后更新于2018-05-23 23:29:10,作者可能在搬运后再次修改,您可在原文处查看最新版

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

    以下是正文


    我也是第一次发题解......选了个简单的题

    ------------华丽丽的分割线------------

    1. 假设牛群有n头牛
    2. 假设分成两部分的牛数恰好相差k

    即:

    牛多的部分:(n+k)/2头

    牛少的部分:(n-k)/2头

    那么牛群要可分,需要满足:

    1. (n-k)>0 //没牛分什么.....
    2. (n-k)为偶数//没个两双牛还敢除二??

    由此可得代码(递归):

    #include<iostream>
    using namespace std;
    
    int k;
    int f(int a){		//请别吐槽这个函数名-_-||
    	if(a-k>0&&(a-k)%2==0)return f((a+k)/2)+f((a-k)/2);//终于散伙咯
    	else return 1;	//想分手!没门
    }
    
    int main(){
    	int n;
        cin>>n>>k;
    	cout<<f(n);
        return 0;
    }
    
    • 1

    信息

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