1 条题解

  • 0
    @ 2025-8-24 22:31:10

    自动搬运

    查看原文

    来自洛谷,原作者为

    avatar Digital_Sunrise
    戏里寻她,水袖轻轻拢风华 | 此页网址去掉.cn查看主页

    搬运于2025-08-24 22:31:10,当前版本为作者最后更新于2021-05-02 22:55:38,作者可能在搬运后再次修改,您可在原文处查看最新版

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

    以下是正文


    我们想一想:

    切1刀分成2块

    切2刀分成4块

    切3刀分成6块

    ......

    很显然,如果切 kk 刀,整个蛋糕会分成 2k2k

    所以,对于任意偶数 n=2kn = 2k 那么只需要 kk

    而对于任意奇数 2k+12k + 1 ,我们其实需要 k+1k + 1

    所以,对于任意正整数 nn ,我们需要切 n2\left\lceil\dfrac{n}{2}\right\rceil

    但是,这里有一个特例:

    11 个蛋糕分成 11 块不需要切

    所以,加一个特判就是本题正解:

    #include <bits/stdc++.h>
    using namespace std;
    
    int t,n;
    
    int main()
    {
    	scanf("%d",&t);
    	while(t--)
    	{
    		scanf("%d",&n);
    		if(n == 1)
    			putchar('0'),putchar('\n');
    		else printf("%d\n",(n + 1) >> 1);
    	}
    	return 0;
    }
    
    • 1

    信息

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