Решение
import java.io.BufferedReader
import java.io.BufferedWriter
import java.io.InputStreamReader
import java.io.OutputStreamWriter
// Вычисление значения Гранди для одной кучки
fun grundy(n: Int): Int {
return n % 3 // Значение Гранди зависит от остатка при делении на 3
}
// Определение победителя для заданных размеров кучек
fun solve(a1: Int, a2: Int, a3: Int): Int {
val g = grundy(a1) xor grundy(a2) xor grundy(a3) // XOR значений Гранди всех кучек
return if (g != 0) 1 else 0 // Первый игрок выигрывает, если результат XOR не равен 0
}
fun main(args: Array<String>) {
val reader = BufferedReader(InputStreamReader(System.`in`))
val writer = BufferedWriter(OutputStreamWriter(System.out))
val t = reader.readLine().toInt() // Чтение количества запросов
repeat(t) { // Обработка каждого запроса
val (a1, a2, a3) = reader.readLine().split(" ").map { it.toInt() } // Чтение размеров кучек
val result = solve(a1, a2, a3) // Определение победителя
writer.write(result.toString()) // Вывод результата
writer.newLine()
}
reader.close()
writer.close()
}