USACO 2022 December Contest, Bronze, Reverse Engineering

Xem PDF

Điểm: 1000 (p) Thời gian: 2.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Elsie có một phần mềm mà khi nhận được đầu vào là một dãy gồm \(N\) \((1 \le N \le 100)\) biến \(b[0], b[1], \dots, b[N - 1]\), mỗi biến chỉ nhận giá trị \(0\) hoặc \(1\) và trả về kết quả sau khi áp dụng một dãy các câu lệnh điều kiện if/else if/else lên đầu vào. Mỗi câu lệnh kiểm tra giá trị của tối đa một biến trong đầu vào, và trả về \(0\) hoặc \(1\). Ví dụ của một chương trình thoả mãn:

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

Lấy ví dụ, nếu đầu vào của chương trình trên là "10" \((b[0] = 1, b[1] = 0)\), thì đầu ra sẽ là \(1\).

Elsie đã nói cho Bessie đầu ra chính xác cho \(M\) \((1 \le M \le 100)\) đầu vào khác nhau. Bessie hiện tại đang muốn đảo ngược cấu trúc trong phần mềm của Elsie. Không may là, Elsie có thể đã buông lời dối gian; có thể có trường hợp mà không phần mềm nào cho đầu ra phù hợp với những lời Elsie nói.

Với mỗi test trong \(T\) \((1 \le T \le 10)\) test, hãy xác định xem Elsie nói dối hay thành thực!!

Input

  • Dòng đầu tiên là số \(T\).
  • Mỗi test bắt đầu với \(2\) số \(N\)\(M\), theo sau là \(M\) dòng, mỗi dòng là một chuỗi nhị phân độ dài \(N\) biểu diễn cho đầu vào và một kí tự \((0\) hoặc \(1)\) biểu diễn cho đầu ra. Các test được ngăn cách nhau bởi một dòng.

Output

  • Mỗi test, hãy in ra "OK" nếu Elsie thành thật hoặc "LIE" nếu Elsie đã lừa dối.

Scoring

  • Subtask \(1\): \(N = 2\).
  • Subtask \(2\): \(M = 2\).
  • Subtask \(3\): Không có ràng buộc gì thêm.

Test 1

Input
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
Output
OK
OK
LIE
LIE
Note
  • Đây là một chương trình hợp lệ cho test đầu tiên:
    C++
    if (b[0] == 0) return 0;
    else return 1;
    
  • Một chương trình khác là:
    C++
    if (b[0] == 1) return 1;
    else return 0;
    
  • Một chương trình hợp lệ cho test thứ hai:
    C++
    if (b[1] == 1) return 1;
    else if (b[0] == 0) return 0;
    else return 1;
    
  • Rõ ràng là, không có chương trình nào thoả mãn test thứ ba bởi vì phần mềm của Elsie phải luôn luôn cho đầu ra giống nhau với đầu vào như nhau.
  • Có thể chứng minh rằng không có chương trình nào thoả mãn test cuối cùng.

Bình luận

Không có bình luận nào.