求助
查看原帖
求助
966803
A_grasser楼主2024/4/3 07:06

错哪里了?

#include<bits/stdc++.h>
using namespace std;
string a,b;
int ct[30];
int tn(char k){
	return (int)(k-'a');
}
int main(){
	char x='-',y='-',z='-';
	cin>>a>>b;
	if(a.size()==b.size()){
		for(int i=0;i<a.size();i++){
			if(a[i]!=b[i]){
				cout<<a[i]<<" "<<b[i]<<"\n-";
				return 0;
			}
		}
	}
	for(int i=0;i<a.size();i++){
		ct[tn(a[i])]++;
	}
	for(int i=0;i<b.size();i++){
		ct[tn(b[i])]--;
	}
	for(int i=0;i<b.size();i++){
		if(a[i+1]==b[i]){
			z=a[i];
			break;
		}
	}
	if(z=='-') z=a[b.size()];
	ct[tn(z)]=0;
	for(int i=0;i<26;i++){
		if(ct[i]>0){
			x=i+'a';
		}
		if(ct[i]<0){
			y=i+'a';
		}
	}
	cout<<x<<" "<<y<<endl<<z;
	return 0;
2024/4/3 07:06
加载中...