TOPIC

[Python] W.A 100% - Passa em todos os testes.

Gabriel Costa asked 7 months ago

O código passa nos testes do UDebug e no da descrição entre outros, mas recebo 100% WA. O que poderia ser? Estou usando OO e a implementação do método lt para fazer a ordenação pelo método sorted().

def is_odd(value):
    return True if value % 2 != 0 else False

def abs_mod(x, mod):
    if x < 0:
        return -(abs(x) % mod)
    return x % mod

class Number:
    def __init__(self, N, M):
        self.value = N
        self.is_odd = is_odd(N)
        self.modulo = abs_mod(N, M)

    def __lt__(self, other):
        if other.modulo == self.modulo:
            if other.is_odd and not self.is_odd:
                return other.value < self.value
            if not other.is_odd and not self.is_odd:
                return self.value > other.value
            if other.is_odd and self.is_odd:
                return other.value > self.value

        return other.modulo > self.modulo

while True:
    N, M = [int(x) for x in input().split()]

    print('{} {}'.format(N, M))
    if N == M == 0:
        break

    numbers = []
    for i in range(N):
        numbers.append(Number(int(input()), M))

    for n in sorted(numbers):
        print(n.value)

This topic has not been answered yet. Be the first!

Remember not post solutions. Your post may be reviewed by our moderators.