LINUX.ORG.RU

История изменений

Исправление rtxtxtrx, (текущая версия) :

Можно проще эти шарады решать:

class ExpressionSolver:
    index = 0
    expression = ""

    def accept(self, token: str) -> bool:
        if self.expression.startswith(token, self.index):
            self.index += len(token)
            return True
        return False

    def solve(self, expression: str):
        self.expression = expression
        self.index = 0

        result = 0
        assert self.accept("+("), "Invalid expression"
        while self.accept("("):
            result *= 10

            if self.accept("+!+[]"):
                result += 1
            else:
                assert self.accept("+![]"), "Invalid expression"

            while not self.accept(")"):
                if self.accept("+!![]"):
                    result += 1
                else:
                    assert self.accept("+[]"), "Invalid expression"

            print(result)

            if self.accept("+"):
                continue

        assert self.accept(")"), "Invalid expression"
        assert self.index == len(expression), "Invalid expression"
        return result


def solve_expression(expression: str) -> int:
    return ExpressionSolver().solve(expression)


assert (
    solve_expression(
        "+((+!+[]+!![]+!![]+!![]+!![]+!![]+!![])+(+!+[]+!![]+!![]+!![]+!![]+[])+(+!+[]+!![]+!![]+!![]+!![]+!![]+!![])+(+!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(+!+[]+!![]+!![]+!![]+!![]+!![])+(+!+[]+!![]+[])+(+!+[]+!![]+!![]+!![]+!![]+!![]))"
    )
    == 7579626
)

assert (
    solve_expression(
        "+((+!+[])+(+!+[]+!![]+!![]+!![]+!![]+[])+(+!+[]+!![]+!![]+!![]+!![]+!![])+(+!+[]+[])+(+!+[]+!![]+!![]+!![]+!![]+!![]+!![])+(+!+[]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(+!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(+![]+[]))"
    )
    == 15617780
)

❯ python cloudflare_challenge2.py
7
75
757
7579
75796
757962
7579626
1
15
156
1561
15617
156177
1561778
15617780

Этот код DickSeek/Qwen/ChatGPT точно перепишут на Go, так что все скомпилиться. ГовноAI не умеет в такие шарады. Однако задачи от яндексов и тп легко «решает», скорее всего потому, что до меня никто эту говнокапчу не пытался разгадать.

Исправление rtxtxtrx, :

Можно проще эти шарады решать:

class ExpressionSolver:
    index = 0
    expression = ""

    def accept(self, token: str) -> bool:
        if self.expression.startswith(token, self.index):
            self.index += len(token)
            return True
        return False

    def solve(self, expression: str):
        self.expression = expression
        self.index = 0

        result = 0
        assert self.accept("+("), "Invalid expression"
        while self.accept("("):
            result *= 10

            if self.accept("+!+[]"):
                result += 1
            else:
                assert self.accept("+![]"), "Invalid expression"

            while not self.accept(")"):
                if self.accept("+!![]"):
                    result += 1
                else:
                    assert self.accept("+[]"), "Invalid expression"

            print(result)

            if self.accept("+"):
                continue

        assert self.accept(")"), "Invalid expression"
        assert self.index == len(expression), "Invalid expression"
        return result


def solve_expression(expression: str) -> int:
    return ExpressionSolver().solve(expression)


assert (
    solve_expression(
        "+((+!+[]+!![]+!![]+!![]+!![]+!![]+!![])+(+!+[]+!![]+!![]+!![]+!![]+[])+(+!+[]+!![]+!![]+!![]+!![]+!![]+!![])+(+!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(+!+[]+!![]+!![]+!![]+!![]+!![])+(+!+[]+!![]+[])+(+!+[]+!![]+!![]+!![]+!![]+!![]))"
    )
    == 7579626
)

assert (
    solve_expression(
        "+((+!+[])+(+!+[]+!![]+!![]+!![]+!![]+[])+(+!+[]+!![]+!![]+!![]+!![]+!![])+(+!+[]+[])+(+!+[]+!![]+!![]+!![]+!![]+!![]+!![])+(+!+[]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(+!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(+![]+[]))"
    )
    == 15617780
)

❯ python cloudflare_challenge2.py
7
75
757
7579
75796
757962
7579626
1
15
156
1561
15617
156177
1561778
15617780

Этот код DickSeek/Qwen/ChatGPT точно перепишут на Go, так что все скомпилиться. ГовноAI не умеет в такие шарады. Одна задачи от яндексов и тп легко «решает», скорее всего потому, что до меня никто эту говнокапчу не пытался разгадать.

Исправление rtxtxtrx, :

Можно проще эти шарады решать:

class ExpressionSolver:
    index = 0
    expression = ""

    def accept(self, token: str) -> bool:
        if self.expression.startswith(token, self.index):
            self.index += len(token)
            return True
        return False

    def solve(self, expression: str):
        self.expression = expression
        self.index = 0

        result = 0
        assert self.accept("+("), "Invalid expression"
        while self.accept("("):
            result *= 10

            if self.accept("+!+[]"):
                result += 1
            else:
                assert self.accept("+![]"), "Invalid expression"

            while not self.accept(")"):
                if self.accept("+!![]"):
                    result += 1
                else:
                    assert self.accept("+[]"), "Invalid expression"

            print(result)

            if self.accept("+"):
                continue

        assert self.accept(")"), "Invalid expression"
        assert self.index == len(expression), "Invalid expression"
        return result


def solve_expression(expression: str) -> int:
    return ExpressionSolver().solve(expression)


assert (
    solve_expression(
        "+((+!+[]+!![]+!![]+!![]+!![]+!![]+!![])+(+!+[]+!![]+!![]+!![]+!![]+[])+(+!+[]+!![]+!![]+!![]+!![]+!![]+!![])+(+!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(+!+[]+!![]+!![]+!![]+!![]+!![])+(+!+[]+!![]+[])+(+!+[]+!![]+!![]+!![]+!![]+!![]))"
    )
    == 7579626
)

assert (
    solve_expression(
        "+((+!+[])+(+!+[]+!![]+!![]+!![]+!![]+[])+(+!+[]+!![]+!![]+!![]+!![]+!![])+(+!+[]+[])+(+!+[]+!![]+!![]+!![]+!![]+!![]+!![])+(+!+[]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(+!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(+![]+[]))"
    )
    == 15617780
)

❯ python cloudflare_challenge2.py
7
75
757
7579
75796
757962
7579626
1
15
156
1561
15617
156177
1561778
15617780

Этот код DickSeek/Qwen/ChatGPT точно перепишут на Go, так что все скомпилиться.

Исходная версия rtxtxtrx, :

Можно проще эти шарады решать:

class ExpressionSolver:
    index = 0
    expression = ""

    def accept(self, token: str) -> bool:
        if self.expression.startswith(token, self.index):
            self.index += len(token)
            return True
        return False

    def solve(self, expression: str):
        self.expression = expression
        self.index = 0

        result = 0
        assert self.accept("+("), "Invalid expression"
        while self.accept("("):
            result *= 10

            if self.accept("+!+[]"):
                result += 1
            else:
                assert self.accept("+![]"), "Invalid expression"

            while not self.accept(")"):
                if self.accept("+!![]"):
                    result += 1
                else:
                    assert self.accept("+[]"), "Invalid expression"

            print(result)

            if self.accept("+"):
                continue

        assert self.accept(")"), "Invalid expression"
        return result


def solve_expression(expression: str) -> int:
    return ExpressionSolver().solve(expression)


assert (
    solve_expression(
        "+((+!+[]+!![]+!![]+!![]+!![]+!![]+!![])+(+!+[]+!![]+!![]+!![]+!![]+[])+(+!+[]+!![]+!![]+!![]+!![]+!![]+!![])+(+!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(+!+[]+!![]+!![]+!![]+!![]+!![])+(+!+[]+!![]+[])+(+!+[]+!![]+!![]+!![]+!![]+!![]))"
    )
    == 7579626
)

assert (
    solve_expression(
        "+((+!+[])+(+!+[]+!![]+!![]+!![]+!![]+[])+(+!+[]+!![]+!![]+!![]+!![]+!![])+(+!+[]+[])+(+!+[]+!![]+!![]+!![]+!![]+!![]+!![])+(+!+[]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(+!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(+![]+[]))"
    )
    == 15617780
)

❯ python cloudflare_challenge2.py
7
75
757
7579
75796
757962
7579626
1
15
156
1561
15617
156177
1561778
15617780