We use cookies to ensure you have the best browsing experience on our website. Please read our cookie policy for more information about how we use cookies.
- Prepare
- Algorithms
- Game Theory
- Kitty and Katty
- Discussions
Kitty and Katty
Kitty and Katty
Sort by
recency
|
28 Discussions
|
Please Login in order to post a comment
Here is Kitty and Katty problem solution in python java c++ and c programming - https://programs.programmingoneonone.com/2021/07/hackerrank-kitty-and-katty-problem-solution.html
what a shit question. you know it's a trick question hiding behind unnecessary complex words when they dont mention how to choose A and B. i hate it. kitty and katty, go play better games ffs.
The trick is to check for any number N, what the values for
N % 3
and-N % 3
are. Then, think about what it means for the last round.Wow, this is a really bad game.
El dolor de cabeza de este reto, es el problema como tal, y que éste basa el resultado final del juego en el cálculo del operador módulo según lenguajes interpretados como Python.
En lenguajes compilados como Java el operador módulo (%) siempre nos dará como resultado el remanente. En los casos de estar involucrados valores enteros negativos en la operación, el remanente tendrá simplemente el signo del dividendo. En java entonces remainder = a%b.
Para lenguajes como Python la fórmula cambia y el operador módulo usa esta fórmula: remainder = a - ⌊ (a/b) ⌋ * b (En donde ⌊ ⌋ es la función Floor) Cuando la operación involucra sólo enteros positivos el resultado no cambia con respecto a Java, pero cuando hay un valor entero negativo si que el resultado varía, y para -1%3 en Python tendremos 2.
Por ello cuando el juego llega a la última ronda se puede dar el caso de tener bloques iguales {0,0} o {1,1} el resultado será un último bloque con valor 0, ganando el que jugó de último. Los movimientos totales del juego son n-1. Cuando llegamos a esa última ronda y los bloques son diferentes {1,0} o {0,1} a quien le toque jugar manipulará el resultado a su favor. Si juega Kitty escogerá 1 y 0 el bloque resultante es 1 ganando ella. SI le tocara a Katty, escogerá 0 y 1 para que el resultado sea 2 y resulte ella la ganadora. Con esto se deduce que al ser los movimientos totales n-1 cuando n es par gana Kitty porque ella siempre juega de primero, y si es impar la ganadora será Katty.