История изменений
Исправление 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