Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
438048 方相宜 26年1月-A组(萌新)D. 密码 C++ 编译错误 0 0 MS 0 KB 1042 2026-04-25 21:26:27

Tests(0/0):


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))