Домінування — 3D
Перегляд у форматі PDFРозглянемо узагальнення біматричної гри на трьох гравців: щодо кожного з трьох гравців задано, які стратегії йому доступні, і для кожного гравця є свій тривимірний масив: елемент a[i][j][k] масиву a виражає виграш першого гравця за умови, що
перший гравець вибрав стратегію номер i,
другий гравець стратегію номер j,
третій гравець стратегію номер k;
елемент b[i][j][k] масиву b виражає виграш другого гравця за тих самих умов,
а елемент с[i][j][k] масиву c – виграш третього.
(Всього є три тривимірні масиви однакових розмірів, аналогічно тому, як у класичних біматричних іграх є дві матриці однакових розмірів.)
Напишіть програму, яка за вказаними тривимірними масивами виграшів визначить, в яких парах стратегій кожного з гравців одна домінує іншу.
Вхідні дані
У першому рядку через пропуски (пробіли) задано кількість стратегій першого гравця ~N~ (~2 \leqslant N \leqslant 8~), кількість стратегій другого гравця ~M~ (~2 \leqslant M \leqslant 8~) та кількість стратегій третього гравця ~K~ (~2 \leqslant K \leqslant 8~). Далі йде один порожній рядок. Наступні ~{M\cdot{}K}{{+}}{(M-1)}~ рядків містять масив виграшів першого гравця, у вигляді: спочатку рівно ~M~ рядків по рівно ~K~ чисел, розділених одинарними пропусками (пробілами), причому ~j~-е число ~i~-го рядка являє собою виграш першого гравця у випадку, якщо перший гравець застосує стратегію №1, другий стратегію №i, а третій стратегію №j. Далі йде один порожній рядок, після якого задані ще рівно ~M~ рядків по рівно ~K~ чисел, розділених одинарними пропусками (пробілами), де ~j~-е число ~i~-го рядка являє собою виграш першого гравця у випадку, якщо перший гравець застосує стратегію №2, другий стратегію №~i~, а третій стратегію №~j~; і так далі. Після вичерпання всіх ~{M\cdot{}K}{{+}}{(M-1)}~ рядків (з яких ~{M\cdot{}K}~ непорожніх та ~{M{-}1}~ порожніх) слідують три підряд порожні рядки, а після них в аналогічному форматі задано тривимірний масив виграшів другого гравця. Потім слідують ще три підряд порожні рядки, а після них в аналогічному форматі задано тривимірний масив виграшів третього гравця. Всі значення елементів усіх масивів є цілими числами, що не перевищують за модулем (абсолютною величиною) 999.
Результати
Ваша програма повинна вивести спочатку в окремому рядку фразу «1st player» (без лапок), потім всі можливі пари стратегій ~i,\,j~ (при ~i{\neq}j~) першого гравця, де ~i~-а стратегія домінує ~j~-у стратегію. Якщо домінування строге, то фраза в окремому рядку повинна мати вигляд «i strictly dominates j»; якщо строгого домінування нема, але є слабке домінування, то фраза в окремому рядку повинна мати вигляд «i weakly dominates j». Виводити слід без лапок, а замість i та j треба виводити конкретні числа-номери стратегій (вважаючи, що нумерація починається з 1).
Всі ці фрази повинні бути відсортовані за зростанням ~i~, а при однакових ~i~ – за зростанням ~j~.
Потім слід вивести окремим рядком фразу «2nd player» (без лапок), а після неї – аналогічні, в такому ж форматі, результати порівнянь стратегій другого гравця.
Потім слід вивести окремим рядком фразу «3rd player» (без лапок), а після неї – аналогічні, в такому ж форматі, результати порівнянь стратегій третього гравця.
Приклади
Вхід
2 2 2
2 2
3 3
1 0
1 2
1 3
1 3
0 2
0 2
0 3
0 1
2 0
0 0
Результат
1st player
1 strictly dominates 2
2nd player
1 weakly dominates 2
2 weakly dominates 1
3rd player
Примітки
Якщо 1-ий гравець вибирає свою 1-шу стратегію, то:
- в разі вибору 1-ої стратегії 2-им гравцем і 1-ої стратегії 3-им гравцем 1-ий отримує 2 (замість 1, якби вибрав 2-гу стратегію);
- в разі вибору 1-ої стратегії 2-им гравцем і 2-ої стратегії 3-им гравцем 1-ий отримує 2 (замість 0, якби вибрав 2-гу стратегію);
- в разі вибору 2-ої стратегії 2-им гравцем і 1-ої стратегії 3-им гравцем 1-ий отримує 3 (замість 1, якби вибрав 2-гу стратегію);
- в разі вибору 2-ої стратегії 2-им гравцем і 2-ої стратегії 3-им гравцем 1-ий отримує 3 (замість 2, якби вибрав 2-гу стратегію).
Таким чином, 1-ша стратегія строго домінує 2-гу.
Другому гравцеві зміна стратегії ніколи не змінює величину виграшу:
- в разі вибору 1-ої стратегії 1-им гравцем і 1-ої стратегії 3-ім гравцем, 2-ий незалежно від свого вибору отримує 1;
- в разі вибору 1-ої стратегії 1-им гравцем і 2-ої стратегії 3-ім гравцем, 2-ий незалежно від свого вибору отримує 3;
- в разі вибору 1-ої стратегії 1-им гравцем і 1-ої стратегії 3-ім гравцем, 2-ий незалежно від свого вибору отримує 0;
- в разі вибору 1-ої стратегії 1-им гравцем і 2-ої стратегії 3-ім гравцем, 2-ий незалежно від свого вибору отримує 2.
Таким чином, формально виходить взаємне слабке домінування стратегій одна одною, хоча водночас це більш схоже на рівність (рівноцінність).
Для 3-го гравця, ніяка стратегія не домінує іншу ні строго, ні слабко, бо, наприклад, в разі вибору 1-ої стратегії 1-им гравцем і 1-ої стратегії 2-им гравцем, 3-му вигідніше вибрати свою 2-гу стратегію й отримати 3, ніж вибрати свою 1-шу стратегію й отримати 0; але, водночас, в разі вибору 2-ої стратегії 1-им гравцем і 1-ої стратегії 2-им гравцем, 3-му вигідніше вибрати свою 1-шу стратегію й отримати 2, ніж вибрати свою 2-гу стратегію й отримати 0. Тобто, в одних ситуаціях строго більший виграш дає одна стратегія, а в інших – інша.
Коментарі