| Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
|---|---|---|---|---|---|---|---|---|---|
| 438049 | 方相宜 | 26年1月-A组(萌新)D. 密码 | Python3 | 通过 | 100 | 430 MS | 4012 KB | 1042 | 2026-04-25 21:26:36 |
def restore_password(P_prime, C): len_P = len(P_prime) len_C = len(C) min_P = None # 检查所有可能的起始位置i,使得C可以嵌入P_prime[i:i+len_C] for i in range(len_P - len_C + 1): match = True temp_P = list(P_prime) # 检查是否可以嵌入C for j in range(len_C): if temp_P[i + j] != '?' and temp_P[i + j] != C[j]: match = False break if match: # 嵌入C for j in range(len_C): temp_P[i + j] = C[j] # 将其他?替换为A for k in range(len_P): if temp_P[k] == '?': temp_P[k] = 'A' candidate = ''.join(temp_P) # 更新最小字典序的P if min_P is None or candidate < min_P: min_P = candidate return min_P # 读取输入 P_prime = input().strip() C = input().strip() # 输出结果 print(restore_password(P_prime, C))