90pts求调
  • 板块学术版
  • 楼主zhm20120707
  • 当前回复5
  • 已保存回复5
  • 发布时间2024/9/3 12:21
  • 上次更新2024/9/3 19:35:32
查看原帖
90pts求调
754584
zhm20120707楼主2024/9/3 12:21

90pts,不知道那个情况没想到 题目链接

#include<bits/stdc++.h>
#define f(x) x-'A'
using namespace std;
char to[26];
bool used[26];
int AllRight(){
	memset(used,0,sizeof(used));
	for(int i=0;i<26;i++){
		if(to[i]==' ')return 0;
		if(used[f(to[i])]==1)return -1;
		used[f(to[i])]=1;
	}return 1;
}bool toBack(string a,string b){
	for(int i=0;i<26;i++)to[i]=' ';
	int len=a.size();
	for(int i=0;i<len;i++){
		to[f(a[i])]=b[i];
		if(AllRight()==-1)return 0;
	}if(AllRight())return 1;
	return 0;
}int main(){
//	freopen("spy.in","r",stdin);
//	freopen("spy.out","w",stdout);
	string s,s2;
	string n;
	cin>>s>>s2>>n;
	bool flag=toBack(s,s2);
	if(!flag){
		cout<<"Failed";
		return 0;
	}int len=n.size();
//	for(int i=0;i<26;i++)cout<<to[i];cout<<'\n';
	for(int i=0;i<len;i++){
		if(to[f(n[i])]==' ')return 0;
		n[i]=to[f(n[i])];
	}cout<<n;
	return 0;
}
2024/9/3 12:21
加载中...