Submission #83583

#TimeUsernameProblemLanguageResultExecution timeMemory
83583XBXJLeiLeLeiLeMate (COCI18_mate)Pypy 2
0 / 100
39 ms11728 KiB
s = raw_input() q = input() def combination(n, d): k = d - 2 if n - k < k: k = n - k result = 1 for i in range(k): result *= n n -= 1 for i in range(k): result /= k k -= 1 return result def mod(num): return num % (10**9+7) def lst_id(letter): return ord(letter) - ord("a") arr = [[0 for i in range(26)] for i in range(len(s))] arr_c = [0] * 26 for i in range(len(s)-1, -1, -1): for j in range(26): arr[i][j] = arr_c[j] arr_c[lst_id(s[i])] += 1 for i in range(q): d, xy = raw_input().split() total = 0 for i in range(len(s)): d = int(d) x = xy[0] y = xy[1] if s[i] == x and i >= d - 2: total += combination(i, d) * arr[i][lst_id(y)] print total
#Verdict Execution timeMemoryGrader output
Fetching results...