比赛 csp2025模拟练习1 评测结果 AAAAAAAAAAAAAAAAAAAAAAAAA
题目名称 麻烦的键盘 最终得分 100
用户昵称 梦那边的美好ME 运行时间 0.163 s
代码语言 C++ 内存使用 3.96 MiB
提交时间 2025-10-28 09:05:21
显示代码纯文本
#include <bits/stdc++.h>
using namespace std;
#define ll long long

string s1,s2;
char tk,wk,qk;
ll n,m;

void solve(){
    ll i=1,j=1;
    set<char> p(s1.begin()+1, s1.end());
    while (i<=n&&j<=m){
        if (s1[i]==s2[j]){
            i++;j++;
        }else{
            if (tk&&s1[i]==tk){
                if (s2[j]==wk){
                    i++;j++;
                    continue;
                }
            }
            if (qk&&s1[i]==qk){
                i++;
                continue;
            }
            if (p.find(s2[j])==p.end()){
                tk=s1[i];
                wk=s2[j];
                i++;j++;
            }else{
                qk=s1[i];
                i++;
            }
        }
    }
    
    while (i<=n){
        if (!qk) qk=s1[i];
        i++;
    }
}

int main(){
	freopen("troublekey.in","r",stdin);
	freopen("troublekey.out","w",stdout);
	ios::sync_with_stdio(0);cin.tie(0);
    cin>>s1>>s2;
    n=s1.length(),m=s2.length();
    s1=' '+s1;
    s2=' '+s2;
    solve();
    cout<<tk<<" "<<wk<<"\n";
    if (qk) cout<<qk<<"\n";
    else cout<<"-\n";
    return 0;
}