AT_xmascon20_i.Implement Me

NOI/NOI+/CTSC

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

给定两个正整数 MM 和 LL。定义一个 MM 变量的布尔函数 F ⁣:{0,1}M→{0,1}F\colon \{0, 1\}^M \to \{0, 1\},其规则为:如果 x0,…,xM−1x_0, \ldots, x_{M-1} 中的值中有至少 LL 个为 11,那么 F(x0,…,xM−1)=0F(x_0, \ldots, x_{M-1}) = 0;否则,其结果为 11。

此外,还有一个正整数 NN 以及一个 NN 变量的布尔函数 G ⁣:{0,1}N→{0,1}G\colon \{0, 1\}^N \to \{0, 1\}。你的任务是只使用函数 FF 来实现 GG,并满足以下条件。如果无法完成这样的实现,请指出。

程序最多可以处理 10410^4 个布尔变量 a[0],…,a[104−1]a[0], \ldots, a[10^4-1]。程序由一系列指令构成,总数在 00 到 10410^4 之间。这些指令按顺序执行。每条指令可被表示为:通过给定的索引 j,i0,…,iM−1j, i_0, \ldots, i_{M-1} 执行 F(a[i0],…,a[iM−1])F(a[i_0], \ldots, a[i_{M-1}]),然后将结果存储到 a[j]a[j]。

对于任意 (y0,…,yN−1)∈{0,1}N(y_0, \ldots, y_{N-1}) \in \{0, 1\}^N,程序执行前,a[0],…,a[N−1]a[0], \ldots, a[N-1] 被设为输入 y0,…,yN−1y_0, \ldots, y_{N-1},其他变量未初始化。程序执行后,要求 a[N]a[N] 的值等于 G(y0,…,yN−1)G(y_0, \ldots, y_{N-1})。在此过程中,不能将未初始化的变量作为 FF 的参数。

这里提供了一个简单的输出检查器。

输入格式

输入通过标准输入给出,格式如下:

MM LL NN GG

这里,GG 是由 0 和 1 组成的长度为 2N2^N 的字符串。对于每个符合 (y0,…,yN−1)∈{0,1}N(y_0, \ldots, y_{N-1}) \in \{0, 1\}^N 的组合,第 (1+∑k=0N−12kyk)\left(1 + \sum_{k=0}^{N-1} 2^k y_k\right) 个字符表示 G(y0,…,yN−1)G(y_0, \ldots, y_{N-1}) 的值。

输出格式

如果无法实现满足条件的程序,输出 -1。

若可以实现,输出一个满足条件的程序。首行输出指令数量 pp,接下来的 pp 行分别输出每条指令。每条指令用空格分隔的格式输出:j,i0,…,iM−1j, i_0, \ldots, i_{M-1}。

这里提供了一个简单的输出检查器。

输入输出样例

  • 输入#1

    2
    1
    3
    00000101

    输出#1

    3
    2020 0 0
    1224 2 2
    3 2020 1224

说明/提示

约束

  • 1≤M≤81 \le M \le 8。
  • 1≤L≤M1 \le L \le M。
  • 1≤N≤81 \le N \le 8。

部分得分

  • 在符合 N≤2N \le 2 的数据集上正确解答,将获得 10 分。
  • 满足其他条件的数据集上正确解答,将额外获得 90 分。

示例解释 1

在这个例子中,F(x0,x1)=(x0NOR⁡x1)F(x_0, x_1) = (x_0 \operatorname{NOR} x_1),G(y0,y1,y2)=(y0AND⁡y2)G(y_0, y_1, y_2) = (y_0 \operatorname{AND} y_2)。

本翻译由 AI 自动生成

输入解题思路,AI测评打分。不知道怎么写?

首页