AT_xmascon20_i.Implement Me
NOI/NOI+/CTSC
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
给定两个正整数 M 和 L。定义一个 M 变量的布尔函数 F:{0,1}M→{0,1},其规则为:如果 x0,…,xM−1 中的值中有至少 L 个为 1,那么 F(x0,…,xM−1)=0;否则,其结果为 1。
此外,还有一个正整数 N 以及一个 N 变量的布尔函数 G:{0,1}N→{0,1}。你的任务是只使用函数 F 来实现 G,并满足以下条件。如果无法完成这样的实现,请指出。
程序最多可以处理 104 个布尔变量 a[0],…,a[104−1]。程序由一系列指令构成,总数在 0 到 104 之间。这些指令按顺序执行。每条指令可被表示为:通过给定的索引 j,i0,…,iM−1 执行 F(a[i0],…,a[iM−1]),然后将结果存储到 a[j]。
对于任意 (y0,…,yN−1)∈{0,1}N,程序执行前,a[0],…,a[N−1] 被设为输入 y0,…,yN−1,其他变量未初始化。程序执行后,要求 a[N] 的值等于 G(y0,…,yN−1)。在此过程中,不能将未初始化的变量作为 F 的参数。
输入格式
输入通过标准输入给出,格式如下:
M L N G
这里,G 是由 0 和 1 组成的长度为 2N 的字符串。对于每个符合 (y0,…,yN−1)∈{0,1}N 的组合,第 (1+∑k=0N−12kyk) 个字符表示 G(y0,…,yN−1) 的值。
输出格式
如果无法实现满足条件的程序,输出 -1。
若可以实现,输出一个满足条件的程序。首行输出指令数量 p,接下来的 p 行分别输出每条指令。每条指令用空格分隔的格式输出:j,i0,…,iM−1。
输入输出样例
输入#1
2 1 3 00000101
输出#1
3 2020 0 0 1224 2 2 3 2020 1224
说明/提示
约束
- 1≤M≤8。
- 1≤L≤M。
- 1≤N≤8。
部分得分
- 在符合 N≤2 的数据集上正确解答,将获得 10 分。
- 满足其他条件的数据集上正确解答,将额外获得 90 分。
示例解释 1
在这个例子中,F(x0,x1)=(x0NORx1),G(y0,y1,y2)=(y0ANDy2)。
本翻译由 AI 自动生成
输入解题思路,AI测评打分。不知道怎么写?