14099: Зворотня розробка-Reverse Engineering-USACO2022DecBronze
Ельза має програму, яка отримує на вхід масив з \(N\) (\(1\le N\le 100\)) змінних \(b[0],\dots,b[N-1]\), кожна з яких дорівнює 0 або 1 і повертає результат застосовуючи послідовність операторів if/else if/else, вказану на вході. Кожен оператор перевіряє значення не більше однієї змінної та повертає 0 або 1. Прикладом такої програми може бути:
if (b[1] == 1) return 1; else if (b[0] == 0) return 0; else return 1;
Наприклад, якщо вхідні дані в цю програму є "10" (тобто \(b[0] = 1\) і \(b[1] = 0\)), тоді вивід має бути 1
Ельза повинна сказати правильну відповідь для \(M\) (\(1\le M\le 100\)) різних входів. Бессі зараз намагається зробити "реверс інжиніринг" для програми Ельзи. На жаль, Ельза може і збрехати - тобто не існує програми виду зазначеного вище, яка виведе відповіді, які сказала Ельза.
Для кожного з \(T\) (\(1\le T\le 10\)) підтестів визначіть, брехала Ельза чи ні.
Формат вхідних даних
Перший рядок містить \(T\), кількість підтестів.
Кожен підтест починається з двох цілих чисел \(N\) і \(M\), за якими слідують \(M\) рядків, кожен із яких містить \(N\) 0 і один представляють введення, тобто. значення \(b[0] \ldots b[N-1]\)) та один додатковий символ (0 або 1), що представляє відповідь. Підтести розділені порожніми рядками.
Формат вихідних даних
Для кожного тесту виведіть "OK" або "LIE" на окремому рядку.
Приклад вхідних даних
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;
Очевидно, що немає коректної програми для 3-го підтесту, тому що коректна програма для однакових вводів завжди дає той самий відповідь.
Можна довести, що немає коректної програми для останнього підтесту.
ОЦІНЮВАННЯ:
- У тестах 2 та 3 \(N = 2\).
- У тестах 4 та 5 \(M = 2\).
- У тестах 6 – 12 немає додаткових обмежень.
Коментарі