十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

打卡信奥刷题(3523)用C++实现信奥题 P10950 太鼓达人

打卡信奥刷题(3523)用C++实现信奥题 P10950 太鼓达人 P10950 太鼓达人题目描述太鼓达人的鼓坏了现在 vani 来修鼓。鼓的主要元件是MMM个围成一圈的传感器。每个传感器都有开和关两种工作状态分别用111和000表示。显然从不同的位置出发沿顺时针方向连续检查KKK个传感器可以得到MMM个长度为KKK的010101串。Vani 知道这MMM个010101串应该是互不相同的。而且鼓的设计很精密MMM会取到可能的最大值。现在 Vani 已经了解到了KKK的值他希望你求出MMM的值并给出字典序最小的传感器排布方案。输入格式一个整数KKK。输出格式一个整数和一个二进制串由一个空格分隔分别表示可能的最大的MMM以及字典序最小的排布方案。字符000表示关111表示开你输出的串的第一个字和最后一个字是相邻的。输入输出样例 #1输入 #13输出 #18 00010111说明/提示2≤K≤112\le K\le 112≤K≤11。C实现#includebits/stdc.husingnamespacestd;typedeflonglongll;constll N1e610;ll k;ll cur[N];boolans[N];ll tot,lim;voiddfs(ll x){for(ll icur[x];i1;icur[x]){couti;cur[x]i1;dfs(((x1)lim)|i);}}intmain(){ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);cink;lim(1ll(k-1))-1;cout(1llk) ;dfs(lim);return0;}后续接下来我会不断用C来实现信奥比赛中的算法题、GESP考级编程题实现、白名单赛事考题实现记录日常的编程生活、比赛心得感兴趣的请关注我后续将继续分享相关内容
返回列表