拼多多校招算法第三题, ab词典
感觉是dp,然后分情况讨论import sys if __name__ == '__main__': n, m, k = list(map(int, sys.stdin.readline().strip().split())) record = [] for _ in range(n+1): record.append([0] * (m+1)) for i in range(m+1): record[0][i] = i for i in range(n+1): record[i][0] = i for i in range(1,n+1,1): for j in range(1, m+1, 1): record[i][j] = record[i-1][j] + 1 + record[i][j-1] + 1 result = [] while True: if k == 0: break if n == 0: result.extend(['b']*k) break if m == 0: result.extend(['a']*k) break if k <= record[n-1][m] + 1: n = n - 1 k = k - 1 result.append('a') elif k > record[n-1][m] + 1: result.append('b') k = k - record[n-1][m] - 1 - 1 m = m - 1 print(''.join(result))
#拼多多##笔试题目#