比赛 csp2025模拟练习1 评测结果 AAAAAAAAAAAAAAAAAAAAAAAAA
题目名称 麻烦的键盘 最终得分 100
用户昵称 梦那边的美好TE 运行时间 0.163 s
代码语言 C++ 内存使用 4.22 MiB
提交时间 2025-10-28 09:50:56
显示代码纯文本
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
const int N=5e5+10;
char s[N],p[N],t[N],ans1,ans0;
int n,m,l;
bool check(char c){
	l=ans1=ans0=0;
	for(int i=1;i<=n;i++){
		if(s[i]!=c)t[++l]=s[i];
	}
	if(l!=m)return 0;
	for(int i=1;i<=l;i++){
		if(t[i]!=p[i]){
			if(!ans0){
				ans0=t[i];
				ans1=p[i];
			}else if(ans0!=t[i]||ans1!=p[i])return 0;
		}
	}
	printf("%c %c\n%c",ans0,ans1,c);
	return 1;
}
int main(){
	freopen("troublekey.in","r",stdin);
	freopen("troublekey.out","w",stdout);
	scanf("%s",s+1);
	scanf("%s",p+1);
	n=strlen(s+1);
	m=strlen(p+1);
	if(n==m){
		for(int i=1;i<=n;i++){
			if(s[i]!=p[i]){
				printf("%c %c\n-",s[i],p[i]);
				return 0;
			}
		}
	}
	for(char i='a';i<='z';i++){
		if(check(i))break;
	}
	return 0;
}