Абдул Гани Надим, 634 PatternFind 5365
Арефьев Вениамин 528 PatternFind 5121
n1def find_substring(input_string, template):n1def find(source, pattern):
2    for i in range(len(input_string) - len(template) + 1):2    for i in range(len(source) - len(pattern) + 1):
3        found = True3        suitable = True
4        for j in range(len(template)):4        for j in range(len(pattern)):
5            if template[j] != '@' and template[j] != input_string[i + j]:5            if pattern[j] != '@' and pattern[j] != source[i + j]:
6                found = False6                suitable = False
7                break7                break
n8        if found:n8        if suitable:
9            return i9            return i
10    return -110    return -1
t11print(find_substring(input(), input()))t11print(find(input(), input()))
Legends
Colors
 Added 
Changed
Deleted
Links
(f)irst change
(n)ext change
(t)op