2021 牛客多校 10 题解

H War of Inazuma (Easy Version)

题意

在一个 维超立方体上,有 个顶点,每个顶点分别由两支军队占领,记为 ,现在要求构造出一个序列 ,其中 代表 顶点 由什么军队占领。其中,当顶点 与顶点 相邻,则 二进制位中有且仅有一位不同。且要求顶点 相邻的顶点中与顶点 ​ 的军队相同的顶点数不超过

直接考虑将顶点 的相邻顶点均与顶点 的占领军队不同,则可发现即顶点编号的二进制中 的个数相同的顶点的占领军队相同,即按照顶点编号的二进制中 的个数构造占领的军队即可。

#include <bits/stdc++.h>
#define rep(i, l, r) for (int i = l; i <= r; ++i)
using namespace std;
typedef long long ll;
signed main() {
    int n;
    scanf("%d", &n);
    int t = 1 << n;
    rep(i, 0, n - 1) {
        if (__builtin_popcount(i) & 1)
            putchar('1');
        else
            putchar('0');
    }
    return 0;
}
全部评论

相关推荐

今天 00:37
已编辑
山东大学 C++
小浪_Coding:你问别人,本来就是有求于人,别人肯定没有义务免费回答你丫, 有点流量每天私信可能都十几,几十条的,大家都有工作和自己的事情, 付费也是正常的, 就像你请别人搭把手, 总得给人家买瓶水喝吧
点赞 评论 收藏
分享
09-17 17:09
门头沟学院 Java
雨忄:有人给出过解法,拖晚点去,然后到时候再找其他理由商量,既增加他们的筛人成本,不一定会给你收回offer ,也能占位避免工贼
秋招的嫡长offer
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务