3935 - 测试专家

题目描述

现代软件开发中,一名专业的软件测试员在其中担任着重要的角色。

在你的小组开发的小程序中,有一个大小为 N(1 \leq N \leq 100) 的数组 a[0], a[1], \ldots, a[N-1] 作为输入,其中每个元素的值为 01。该程序通过一系列 if / else if / else if / ... / else 条件判断返回一个结果。每个条件判断最多检查一个输入变量,并根据其值返回 01

例如,以下是一个简单的判断示例:

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

在这个示例中,如果输入为 "01"(即 a[0]=0a[1]=1),则输出将是 1

假设你有 K(1 \leq K \leq 100) 个输入及其对应的输出结果。你的任务是测试这些输出是否有可能存在符合上述条件判断程序。如果不可能存在任何程序使得所有输出均与所给输入匹配,则认为程序存在Bug。

目前存在 T(1 \le T \le 10) 个待测试的程序,请逐一判断每个程序是否存在Bug 。

输入

输入的第一行包含 T,为待测试程序的数量。

对于每个程序包含一组测试数据,第一行包含整数 NK

接下来 K 行,每行包含一个由 N01 组成的字符串,表示一个输入(即 a[0] \cdots a[N−1] 的值),以及另一个字符(01)表示程序返回的结果。相邻的两组程序之间用空行分隔。

输出

对于每一个待测试的程序,分别输出一行,如果不存在Bug,则输出 Bug-Free,否则输出 Bug

样例

输入

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

输出

Bug-Free
Bug-Free
Bug
Bug

输入

10

2 2
01 0
10 0

2 3
11 0
00 1
01 0

2 4
11 0
01 0
10 0
00 0

2 4
10 1
11 1
01 0
00 0

2 4
11 1
10 0
01 1
00 0

2 4
11 1
10 0
01 1
00 0

2 4
10 1
11 0
01 1
00 0

2 4
10 1
00 0
01 1
11 0

2 4
01 1
00 0
10 1
11 0

2 4
10 1
00 0
01 1
11 0

输出

Bug-Free
Bug-Free
Bug-Free
Bug-Free
Bug-Free
Bug-Free
Bug
Bug
Bug
Bug
说明

样例 1 解释

以下是第一组程序符合所有用例的一个程序:

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

以下是第一组程序符合所有用例的另一个程序:

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

以下是第二组程序符合所有用例的一个程序:

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

对于第三组程序不存在符合所有用例的一个程序。

对于第四组程序不存在符合所有用例的一个程序。

测试点性质

本题共 10 个测试点。

  • 测试点 1 满足 N=2
  • 测试点 2-3 满足 K=2
  • 测试点 6-10 没有额外限制。
标签
题目参数
时间限制 1 秒
内存限制 512 MB
提交次数 4
通过人数 3
金币数量 0 枚
难度 基础


上一题 下一题