1 条题解

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

    自动搬运

    查看原文

    来自洛谷,原作者为

    avatar Coffee_zzz
    沉覆z

    搬运于2025-08-24 22:49:51,当前版本为作者最后更新于2023-08-03 11:58:54,作者可能在搬运后再次修改,您可在原文处查看最新版

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

    以下是正文


    Task 1~3

    容易发现,当 2nm2n\le m 时,一定可以做到任意一位客人的相邻的房间都没有人,所以答案为 00

    Task 4~6

    由于 m=n+1m=n+1,所以只会空出一个房间。

    与这个空房间相邻的客人的愤怒值显然为 11,而剩余 (n2)(n-2) 位客人的愤怒值就为 22,所以答案为 1+1+2(n2)=2n21+1+2(n-2)=2n-2

    Task 7~10

    根据 Task 1~3 的结论,我们知道当 2nm2n\le m 时答案为 00

    我们思考 2n>m2n\gt m 时的答案。

    不好考虑有人的房间怎么安排,那我们可以考虑空房间怎么安排。

    两个空房间相邻是没有用的,所以我们要让与空房间相邻的房间都为有人的房间。由于空房间数量比有人的房间的数量要少,所以这个条件是可以做到的。

    当没有空房间时,每位客人的愤怒值都为 22;每一个空房间,可以使相邻的 22 个房间内的客人的愤怒值减少 11。我们知道空房间的数量为 mnm-n,所以答案为 2n2(mn)=4n2m2n-2(m-n)=4n-2m

    Code

    #include <bits/stdc++.h>
    using namespace std;
    signed main(){
    	int n,m;
    	cin>>n>>m;
    	if(n*2<=m) cout<<0;
    	else cout<<4*n-2*m;
    	return 0;
    }
    
    • 1

    信息

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