#C. 小A的任务程序

    传统题 1000ms 256MiB

小A的任务程序

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目描述

小A迷恋上了智能的chatgpt 16.0, 这一天他在进行一些AI的智能研究。 他想要去研究一款AI的智能程度,主要是通过一种特别的图灵测试,来测试这款AI是否会说谎。 已知普通的计算机程序,内部是一些简单的if...else if...else语句。 例如,对于给定的 2 个布尔变量 01 ,可以用数组 bb 来存储 b[0] = 0 , b[1] = 1

if(b[0] == 0) return 0;
else if(b[1] == 1) return 1;
else return 1;

注意,每个判断语句只能判断一个布尔变量的值,那么,普通的计算机程序会返回0。 小A会告诉AI mm 个不同的长度为 nn 的布尔变量 ,AI会给出相应的返回值。如果存在某一种合理 的if...else if...else语句,那么这个AI就很有可能是一个普通的AI,更可怕的是,不存在合法 的if...else if...else语句,那么这个AI可能就产生了高级的智能,他在说谎!

输入描述

输入的第一行包含 TT,为子测试用例的数量。

每一个子测试用例的第一行包含两个整数 nnmm,以下 mm 行,每行包含一个由 nn 个 0 或 1 组成的字符串,表示一个输入(即 b[0],...,b[n-1] 的值),以及另一个字符(0 或 1)表示输出。 相邻的子测试用例之间用空行分隔。

输出描述

对于每一个子测试用例,输出一行,包含 OK 或 LIE,分别表示 AI 可能没有说谎或是一定在说谎。

4

1 3
0 0
0 0
1 1

2 4
00 0
01 1
10 1
11 1

1 2
0 1
0 0

2 4
00 0
01 1
10 1
11 0
OK
OK
LIE
LIE

样例解释

以下是第一个子测试用例的一个合法的程序:

if (b[0] == 0) return 0;
else return 1;

以下是第一个子测试用例的另一个合法的程序:

if (b[0] == 1) return 1;
else return 0;

以下是第二个子测试用例的一个合法的程序:

if (b[1] == 1) return 1;
else if (b[0] == 0) return 0;
else return 1;

显然,对于第三个子测试用例不存在对应的合法的程序,因为 AI 的程序一定始终对相同的输入产生相同的输出。

可以证明对于最后一个子测试用例不存在对应的合法的程序。

数据范围描述

  • 测试点1 - 3 满足 n2n \le 2
  • 测试点4 - 5 满足 m2m\le2
  • 测试点6 - 12 没有特殊限制

对于全部的测试数据,满足 1n100,1m100,1T101 \le n \le 100 , 1 \le m \le 100 , 1 \le T \le 10

2024 城阳区 区长杯 试题 - 初中组

未认领
状态
已结束
题目
4
开始时间
2024-4-18 18:00
截止时间
2024-4-25 23:59
可延期
24 小时